CREATE PROCEDURE [dbo].[LX_GERA_DISTRIBUICAO_50_new] @ROMANEIO CHAR(8), @FILIAL VARCHAR(25), @DISPONIVEL CHAR(6), @COMPRAS_I DATETIME = NULL,
		@COMPRAS_F DATETIME = NULL, @PRODUCAO_I DATETIME = NULL, @PRODUCAO_F DATETIME = NULL, @TAB_PRECO CHAR(2), @COLECAO CHAR(6),
		@TIPO_VENDA VARCHAR(25), @MOEDA CHAR(6), @TRANSPORTADORA VARCHAR(25), @COND_PGTO CHAR(3), @REPRESENTANTE VARCHAR(25), @DATA DATETIME,
		@COD_PLANEJAMENTO INT, @PORCENTAGEM INT, @PROGRAMACAO_I DATETIME = NULL, @PROGRAMACAO_F DATETIME = NULL, @PACKS INT,
		@COND_PGTO_CLIENTE BIT,@TAB_PRECO_CLIENTE BIT, @FILIAL_DISPONIVEL VARCHAR(25), @TIPO_DISPONIVEL BIT, @PEDIDO_I CHAR(8) = NULL, @PEDIDO_F CHAR(8) = NULL,
		@OP_I CHAR(8) = NULL, @OP_F CHAR(8) = NULL, @EMISSAO_VENDAS_I DATETIME = NULL, @EMISSAO_VENDAS_F DATETIME = NULL,
		@PEDIDO_VENDAS_I CHAR(12) = NULL, @PEDIDO_VENDAS_F CHAR(12) = NULL, @MANTER_ITEM_ZERADO BIT, @UTILIZAR_GRADE_MINIMA BIT=0
AS
BEGIN

SET NOCOUNT ON

/* 09/09/2011 P/ MARCELO BIANO - CORREÇÃO NA DISTRIBUIÇÃO PACK + COR, PRODUTOS QUE VARIAM PREÇO POR TAMANHO */
/* 18/07/2011 P/ MARCELO BIANO - CORREÇÃO NA DISTRIBUIÇÃO DE PEDIDOS POR PACK + COR, ESTAVA DUPLICANDO AS QUANTIDADES EM ALGUNS CASOS.*/
/* 13/07/2010 P/ MARCELO BIANO - CORREÇÃO, NÃO ESTAVA RESPEITANDO CORRETAMENTE OS PERCENTUAIS DE DISTRIBUIÇÃO PARA CADA LOJA QUANDO PROCESSAMENTO ERA REALIZADO POR PACK + COR*/
/* 14/04/2010 P/ MARCELO BIANO - CORREÇÃO NO PROCESSAMENTO PACK + COR, AJUSTE PARA GRAVAR A LETRA CORRETA DO PACK.
/* 23/03/2010 P/ MARCELO BIANO - CORREÇÃO, QUANDO PROCESSAMENTO FOR REALIZADO POR PACK + COR, ESTAVA DISTRIBUINDO APENAS PARA A PRIMEIRA COR ENCONTRADA NO ROMANEIO*/
/* 25/06/2008 P/ ALESSANDRO/MARCELO BIANO - CORREÇÃO NA DISTRIBUIÇÃO DOS TAMANHOS 13 E 22*/
/* 02/04/2007 P/ ALESSANDRO - EVITAR FILIAIS COM OS PERCENTUAIS ZERADOS, CASO A DISTRIBUIÇÃO NÃO SEJA POR GRADE MÍNIMA*/
/* 08/08/2007 P/ ALESSANDRO - CORRIGIR AS DATAS DE DIGITAÇÃO E EMISSÃO COM A DATA ATUAL*/
/* 27/10/2006 P/ ALESSANDRO - NOVO TRATAMENTO PARA GRADE MÍNIMA (FAZER ATÉ O LIMITE, BENEFICIANDO AS PRIMEIRAS FILIAIS DO CANAL) */
/* 25/04/2006 P/ ALESSANDRO - NOVO TRATAMENTO PARA TRANSPORTADORA/FRETE PAGO/TIPO DA CAIXA */
/* 21/09/2005 P/ ALESSANDRO - INCLUSÃO DA ROTINA DE GRADE MÍNIMA*/
/* 12/07/2005 P/ ESTEVAM- INCLUSÃO DE PARÃMETRO COND_PGTO_CLIENTE*/
/* 05/01/2005 P/ SERGIO	- CORREÇÃO NO PROCESSO DE PACK_COR, QUANDO VERIFICAVA SE O PACK ESTAVA COMPLETO, ESTAVA ALTERANDO O VALOR DA VARIAVEL QUE CONTROLA A QTDE DE PACKS A SEREM DISTRIBUIDOS */
/* 05/01/2005 P/ SERGIO	- ALTERAÇÃO NO TRATAMENTO PARA GRAVAR O PACK. */
/* 05/01/2005 P/ SERGIO - ALTERAÇÃO NA PROCEDURE PARA USAR AS NOVAS TABELAS DE DISTRIBUIÇÃO/PLANEJAMENTO/AGRUPAMENTO */
/* 19/11/2004 P/ BASILIO- ALTERAÇÃO PARA COLOCAR DROP TABLE #DISTRIBUICAO ANTES DA CRIAÇÃO*/
/* 16/11/2004 P/ BASILIO- MODIFICAÇÃO PARA COLOCAR COLLATE*/
/* 16/11/2004 P/ BASILIO- MODIFICAÇÃO PARA NA CRIAÇÃO DAS TABELAS TEMP FICAR VINCULADA AO USUARIO */
/* 10/11/2004 P/ BASILIO- MODIFICAÇÃO NA CRIAÇÃO DAS TABELAS TEMPORÁRIAS PARA COLOCAR # */
/* 07/10/2004 P/ SERGIO	- CORREÇÃO DE ERRO AO EFETUAR PROCESSO VIA PACK, QDO O PRIMEIRO TAMANHO NÃO POSSUI QTDE NO PACK, NÃO ESTAVA CONSIDERANDO QTDES PARA O ITEM */
/* 07/10/2004 P/ SERGIO	- INCLUSÃO DE TRATAMENTO PARA GRAVAR CÓDIGO DE QTDE DE PACKS EM VENDAS_PRODUTO */
/* 22/06/2004 P/ SERGIO	- INCLUSÃO DA COLUNA INDICADOR_VENDA NO INSERT EM VENDAS */
/* 13/05/2004 P/ SERGIO	- INCLUSÃO DA COLUNA NOME_CLIFOR_ENTREGA NO INSERT EM VENDAS */
/* 04/12/2003 P/ SERGIO - INCLUSÃO DE TRATAMENTO PARA ABATER QTDES DE VENDAS E A RESERVAR DO DISPONÍVEL (SELECT E FILTROS) */
/* 03/10/2003 P/ SERGIO - CORRECÃO NO PROCESSO DE GERAÇÃO VIA PACK COR, NÃO ESTAVA GERANDO QTDES PARA PRODUTOS QUE NÃO POSSUIAM PACK_COR CADASTRADO, O CORRETO É GERAR QTDE NORMAL (SEM PACK) */
/* 02/10/2003 P/ SERGIO - ALTERAÇÃO PARA PERCORRER SOMENTE O NUMERO DE TAMANHOS DA GRADE DO PRODUTO E NÃO ATÉ O MÁXIMO DE TAMANHOS CADASTRADOS NO PARAMETRO MAXIMO_TAMANHOS */
/* 02/10/2003 P/ SERGIO - CORREÇÃO NO PROCESSO DE GERAÇÃO VIA PACK COR, NÃO ESTAVA CONSIDERANDO AS CORES DO PACK QDO NÃO EXISTIA A COR NO DISPONÍVEL */
/* 18/09/2003 P/ SERGIO - INCLUSÃO DE TRATAMENTO PARA UTILIZAR DESCONTOS/ENCARGO DA CONDIÇÃO DE PAGAMENTO */
/* 05/09/2003 P/ SERGIO - INCLUSÃO DE FILTROS DE PEDIDO DE COMPRA E OP INICIAL/FINAL. */
/* 03/09/2003 P/ SERGIO - RETIRADO LINK COM AS TABELAS DISTRIBUICAO_AGRUPAMENTO E DISTRIBUICAO_PORCENTAGEM E TROCADO POR TABELAS TEMPORARIAS PARA PERMITIR UTILIZAR AGRUPAMENTO/PORCENTAGENS NÃO SALVAS */

--***OBS.: NA DISTRIBUIÇÃO DO PEDIDO DE COMPRAS POR PACK/PACK_COR SERÁ UTILIZADO APENAS O PRIMEIRO PACK SELECIONADO NO ITEM DO PEDIDO*/

DECLARE @PRODUTO CHAR(12), @STATUS CHAR(1), @PEDIDO CHAR(12), @PRODUTOI CHAR(12), @CORI CHAR(10), @FILIALI VARCHAR(25), @TAMANHO INT,
	@Q1  NUMERIC(14, 2), @Q2  NUMERIC(14, 2), @Q3  NUMERIC(14, 2), @Q4  NUMERIC(14, 2), @Q5  NUMERIC(14, 2), @Q6  NUMERIC(14, 2), @Q7  NUMERIC(14, 2), @Q8  NUMERIC(14, 2), @Q9  NUMERIC(14, 2), @Q10 NUMERIC(14, 2), @Q11 NUMERIC(14, 2), @Q12 NUMERIC(14, 2),
	@Q13 NUMERIC(14, 2), @Q14 NUMERIC(14, 2), @Q15 NUMERIC(14, 2), @Q16 NUMERIC(14, 2), @Q17 NUMERIC(14, 2), @Q18 NUMERIC(14, 2), @Q19 NUMERIC(14, 2), @Q20 NUMERIC(14, 2), @Q21 NUMERIC(14, 2), @Q22 NUMERIC(14, 2), @Q23 NUMERIC(14, 2), @Q24 NUMERIC(14, 2),
	@Q25 NUMERIC(14, 2), @Q26 NUMERIC(14, 2), @Q27 NUMERIC(14, 2), @Q28 NUMERIC(14, 2), @Q29 NUMERIC(14, 2), @Q30 NUMERIC(14, 2), @Q31 NUMERIC(14, 2), @Q32 NUMERIC(14, 2), @Q33 NUMERIC(14, 2), @Q34 NUMERIC(14, 2), @Q35 NUMERIC(14, 2), @Q36 NUMERIC(14, 2),
	@Q37 NUMERIC(14, 2), @Q38 NUMERIC(14, 2), @Q39 NUMERIC(14, 2), @Q40 NUMERIC(14, 2), @Q41 NUMERIC(14, 2), @Q42 NUMERIC(14, 2), @Q43 NUMERIC(14, 2), @Q44 NUMERIC(14, 2), @Q45 NUMERIC(14, 2), @Q46 NUMERIC(14, 2), @Q47 NUMERIC(14, 2), @Q48 NUMERIC(14, 2),
	@GERENTE VARCHAR(25), @COMISSAO REAL, @COMISSAO_GERENTE REAL, @PORC_ACERTO REAL, @QTDE NUMERIC(14, 2),
	@PONTEIRO_PRECO_TAM VARCHAR(48), @VARIA_PRECO_TAM BIT, @VARIA_PRECO_COR BIT, @PRECO1 NUMERIC(14, 2), @PRECO2 NUMERIC(14, 2),
	@PRECO3 NUMERIC(14, 2), @PRECO4 NUMERIC(14, 2), @VALOR NUMERIC(14, 2), @MAXIMO_TAMANHOS INT, @XCONTA INT,
	@TOT_VALOR NUMERIC(14, 2), @TOT_QTDE NUMERIC(14, 2), @COR CHAR(10), @QTDE_D INT, @QTDE_ES NUMERIC(14, 2), 
	@D1  INT, @D2  INT, @D3  INT, @D4  INT, @D5  INT, @D6  INT, @D7  INT, @D8  INT, @D9  INT, @D10 INT, @D11 INT, @D12 INT,
	@D13 INT, @D14 INT, @D15 INT, @D16 INT, @D17 INT, @D18 INT, @D19 INT, @D20 INT, @D21 INT, @D22 INT, @D23 INT, @D24 INT,
	@D25 INT, @D26 INT, @D27 INT, @D28 INT, @D29 INT, @D30 INT, @D31 INT, @D32 INT, @D33 INT, @D34 INT, @D35 INT, @D36 INT,
	@D37 INT, @D38 INT, @D39 INT, @D40 INT, @D41 INT, @D42 INT, @D43 INT, @D44 INT, @D45 INT, @D46 INT, @D47 INT, @D48 INT,
	@ES1  NUMERIC(14, 2), @ES2  NUMERIC(14, 2), @ES3  NUMERIC(14, 2), @ES4  NUMERIC(14, 2), @ES5  NUMERIC(14, 2), @ES6  NUMERIC(14, 2), @ES7  NUMERIC(14, 2), @ES8  NUMERIC(14, 2), @ES9  NUMERIC(14, 2), @ES10 NUMERIC(14, 2), @ES11 NUMERIC(14, 2), @ES12 NUMERIC(14, 2),
	@ES13 NUMERIC(14, 2), @ES14 NUMERIC(14, 2), @ES15 NUMERIC(14, 2), @ES16 NUMERIC(14, 2), @ES17 NUMERIC(14, 2), @ES18 NUMERIC(14, 2), @ES19 NUMERIC(14, 2), @ES20 NUMERIC(14, 2), @ES21 NUMERIC(14, 2), @ES22 NUMERIC(14, 2), @ES23 NUMERIC(14, 2), @ES24 NUMERIC(14, 2),
	@ES25 NUMERIC(14, 2), @ES26 NUMERIC(14, 2), @ES27 NUMERIC(14, 2), @ES28 NUMERIC(14, 2), @ES29 NUMERIC(14, 2), @ES30 NUMERIC(14, 2), @ES31 NUMERIC(14, 2), @ES32 NUMERIC(14, 2), @ES33 NUMERIC(14, 2), @ES34 NUMERIC(14, 2), @ES35 NUMERIC(14, 2), @ES36 NUMERIC(14, 2),
	@ES37 NUMERIC(14, 2), @ES38 NUMERIC(14, 2), @ES39 NUMERIC(14, 2), @ES40 NUMERIC(14, 2), @ES41 NUMERIC(14, 2), @ES42 NUMERIC(14, 2), @ES43 NUMERIC(14, 2), @ES44 NUMERIC(14, 2), @ES45 NUMERIC(14, 2), @ES46 NUMERIC(14, 2), @ES47 NUMERIC(14, 2), @ES48 NUMERIC(14, 2),
	@TIPO_AGRUPAMENTO1 VARCHAR(25), @TIPO_AGRUPAMENTO2 VARCHAR(25), @TIPO_AGRUPAMENTO3 VARCHAR(25), @TIPO_AGRUPAMENTO4 VARCHAR(25),
	@TIPO_AGRUPAMENTO5 VARCHAR(25), @TIPO_AGRUPAMENTO6 VARCHAR(25), @ERRNO INT, @ERRMSG VARCHAR(255), @XWHERE VARCHAR(255),
	@PORCENTAGEMI NUMERIC(14, 2), @PROCESSA_PACK BIT, @QTDE_P INT, @XWHERE1 VARCHAR(250), @XWHERE2 VARCHAR(250), @XWHERE3 VARCHAR(250), 
	@P1 INT,  @P2 INT,  @P3 INT,  @P4 INT,  @P5 INT,  @P6 INT,  @P7 INT,  @P8 INT,  @P9 INT,  @P10 INT, @P11 INT, @P12 INT, @P13 INT, @P14 INT, @P15 INT, @P16 INT, @P17 INT, @P18 INT, @P19 INT, @P20 INT, @P21 INT, @P22 INT, @P23 INT, @P24 INT,
	@P25 INT, @P26 INT, @P27 INT, @P28 INT, @P29 INT, @P30 INT, @P31 INT, @P32 INT, @P33 INT, @P34 INT, @P35 INT, @P36 INT, @P37 INT, @P38 INT, @P39 INT, @P40 INT, @P41 INT, @P42 INT, @P43 INT, @P44 INT, @P45 INT, @P46 INT, @P47 INT, @P48 INT,
	@SELECT1 VARCHAR(5000), @SELECT2 VARCHAR(5000), @SELECT3 VARCHAR(5000), @SELECT4 VARCHAR(5000), @SELECT5 VARCHAR(5000), 
	@SELECT6 VARCHAR(5000), @SELECT7 VARCHAR(5000), @SELECT8 VARCHAR(5000), @SELECT9 VARCHAR(5000), @SELECT10 VARCHAR(5000), @SELECT11 VARCHAR(5000),
	@CODIGO_PACK CHAR(2), @TABELA CHAR(2), @ORDEM_PRODUCAO CHAR(8), @OP CHAR(8), @PED_COMPRA CHAR(8), @COR_PRODUTO CHAR(10), @PRODUTO_OLD CHAR(12),
	@PROGRAMACAO VARCHAR(25), @DESCONTO_COND_PGTO NUMERIC(14, 2), @ENCARGO NUMERIC(14, 2), @DESCONTO_ITEM NUMERIC(14, 2), @ASPAS CHAR(1), 
	@DESCONTO_I NUMERIC(14, 2), @INCIDE_SOBRE_PRECO BIT, @COR_PACK CHAR(10), @LOOP INT, @NUMERO_TAMANHOS INT, @CONTROLE INT, @COD_AGRUPAMENTO INT, @COND_PARAM CHAR(3), 
	@TIPO_CAIXA CHAR(8), @ENTREGA_CIF BIT, @TRANSPORTADORA_CLIENTE VARCHAR(25), @TRANSP_REDESPACHO VARCHAR(25), @UITILIZA_TRANSP_CLIENTE BIT, @TIPO_FRETE CHAR(2) 




--GRADE MÍNIMA
DECLARE @GM1  INT , @GM2  INT , @GM3  INT , @GM4  INT , @GM5  INT , @GM6  INT , @GM7  INT , @GM8  INT , 
	@GM9  INT , @GM10 INT , @GM11 INT , @GM12 INT ,	@GM13 INT , @GM14 INT , @GM15 INT , @GM16 INT , 
	@GM17 INT , @GM18 INT , @GM19 INT , @GM20 INT , @GM21 INT , @GM22 INT , @GM23 INT , @GM24 INT ,	
	@GM25 INT , @GM26 INT , @GM27 INT , @GM28 INT , @GM29 INT , @GM30 INT , @GM31 INT , @GM32 INT , 
	@GM33 INT , @GM34 INT , @GM35 INT , @GM36 INT ,	@GM37 INT , @GM38 INT , @GM39 INT , @GM40 INT , 
	@GM41 INT , @GM42 INT , @GM43 INT , @GM44 INT , @GM45 INT , @GM46 INT , @GM47 INT , @GM48 INT , @GRADE_MINIMA INT, @QTDE_FILIAIS INT

--RESET DOS VALORES
	SELECT @GM1  = 0 , @GM2  = 0 , @GM3  = 0 , @GM4  = 0 , @GM5  = 0 , @GM6  = 0 , @GM7  = 0 , @GM8  = 0 , 
	@GM9  = 0 , @GM10 = 0 , @GM11 = 0 , @GM12 = 0 ,
	@GM13 = 0 , @GM14 = 0 , @GM15 = 0 , @GM16 = 0 , @GM17 = 0 , @GM18 = 0 , @GM19 = 0 , @GM20 = 0 , @GM21 = 0 , @GM22 = 0 , @GM23 = 0 , @GM24 = 0 ,
	@GM25 = 0 , @GM26 = 0 , @GM27 = 0 , @GM28 = 0 , @GM29 = 0 , @GM30 = 0 , @GM31 = 0 , @GM32 = 0 , @GM33 = 0 , @GM34 = 0 , @GM35 = 0 , @GM36 = 0 ,
	@GM37 = 0 , @GM38 = 0 , @GM39 = 0 , @GM40 = 0 , @GM41 = 0 , @GM42 = 0 , @GM43 = 0 , @GM44 = 0 , @GM45 = 0 , @GM46 = 0 , @GM47 = 0 , @GM48 = 0, @GRADE_MINIMA = 0, @QTDE_FILIAIS = 0
-------------------

--CAIXA PADRÃO
SELECT @TIPO_CAIXA = DBO.FX_PARAMETRO_EMPRESA('TIPO_CAIXA_PADRAO', 0)
--UTILIZA A TRANSPORTADORA DO CLIENTE
SELECT @UITILIZA_TRANSP_CLIENTE = CASE WHEN UPPER(ISNULL(DBO.FX_PARAMETRO_EMPRESA('DISTRIB_UTILIZA_TRANSP_CL', 0), '.F.')) = '.T.' THEN 1 ELSE 0 END

SELECT @TIPO_FRETE=TIPO_FRETE, @ENTREGA_CIF = ISNULL(FRETE_PAGO, 0)  FROM TIPO_FRETE
WHERE TIPO_FRETE = DBO.FX_PARAMETRO_EMPRESA('TIPO_FRETE_DISTRIBUICAO', 0)


BEGIN TRANSACTION 

SELECT @ASPAS = CHAR(39)	
SELECT @GERENTE = A.GERENTE, @COMISSAO = A.COMISSAO, @COMISSAO_GERENTE = B.COMISSAO, @PORC_ACERTO = A.PORCENTAGEM_ACERTO
FROM REPRESENTANTES A LEFT JOIN REPRESENTANTES B ON A.GERENTE = B.REPRESENTANTE WHERE A.REPRESENTANTE = @REPRESENTANTE
--SELECT @MAXIMO_TAMANHOS = CONVERT(INT, VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO = 'MAXIMO_TAMANHOS'
SELECT 	@DESCONTO_COND_PGTO = CASE WHEN DESCONTO_FATURAMENTO = 0 THEN ISNULL(DESCONTO, 0) ELSE 0 END,
	@ENCARGO = CASE WHEN ENCARGO_FATURAMENTO = 0 THEN ISNULL(ENCARGO, 0) ELSE 0 END,
	@DESCONTO_ITEM = CASE WHEN DESCONTO_ITEM_FATURAMENTO = 0 THEN ISNULL(DESCONTO_ITEM, 0) ELSE 0 END,
	@INCIDE_SOBRE_PRECO = ISNULL(INCIDE_SOBRE_PRECO, 0)
	FROM COND_ATAC_PGTOS WHERE CONDICAO_PGTO = @COND_PGTO
SELECT @COR = ''

SELECT @COD_AGRUPAMENTO = COD_AGRUPAMENTO FROM GIV_PLANEJAMENTO WHERE COD_PLANEJAMENTO = @COD_PLANEJAMENTO

/* SE PROCESSA PACK POR COR */
/* CRIA TABELA TEMPORARIA PARA VERIFICAR QTDE DE PACKS DISPONIVEIS PARA SEPARACAO */
IF @PACKS = 2
BEGIN
	/*IF EXISTS (SELECT NAME FROM tempdb.dbo.SYSOBJECTS WHERE NAME like '#TMP_ESTOQUE_DISTRIBUICAO%' AND TYPE = 'U')
		DROP TABLE #TMP_ESTOQUE_DISTRIBUICAO*/

	CREATE TABLE #TMP_ESTOQUE_DISTRIBUICAO (PRODUTO CHAR(12) COLLATE DATABASE_DEFAULT , 
						  COR_PRODUTO CHAR(10) COLLATE DATABASE_DEFAULT, 
						  FILIAL VARCHAR(25) COLLATE DATABASE_DEFAULT, 
		D1  INT, D2  INT, D3  INT, D4  INT, D5  INT, D6  INT, D7  INT, D8  INT, D9  INT, D10 INT, D11 INT, D12 INT, D13 INT, D14 INT, D15 INT, D16 INT, D17 INT, D18 INT, D19 INT, D20 INT, D21 INT, D22 INT, D23 INT, D24 INT,
		D25 INT, D26 INT, D27 INT, D28 INT, D29 INT, D30 INT, D31 INT, D32 INT, D33 INT, D34 INT, D35 INT, D36 INT, D37 INT, D38 INT, D39 INT, D40 INT, D41 INT, D42 INT, D43 INT, D44 INT, D45 INT, D46 INT, D47 INT, D48 INT)
END

DECLARE CURSOR_PRODUTOS_50_new CURSOR LOCAL FOR SELECT ROMANEIOS_PRODUTO.PRODUTO, ORDEM_PRODUCAO, COR_PRODUTO, PROGRAMACAO, NUMERO_TAMANHOS 
FROM ROMANEIOS_PRODUTO 
JOIN ROMANEIOS ON ROMANEIOS_PRODUTO.ROMANEIO = ROMANEIOS.ROMANEIO AND ROMANEIOS_PRODUTO.FILIAL = ROMANEIOS.FILIAL 
JOIN PRODUTOS ON ROMANEIOS_PRODUTO.PRODUTO = PRODUTOS.PRODUTO JOIN PRODUTOS_TAMANHOS ON PRODUTOS.GRADE = PRODUTOS_TAMANHOS.GRADE 
WHERE ROMANEIOS.ROMANEIO = @ROMANEIO AND ROMANEIOS.FILIAL = @FILIAL AND STATUS = 'A'

OPEN CURSOR_PRODUTOS_50_new
FETCH NEXT FROM CURSOR_PRODUTOS_50_new INTO @PRODUTO, @ORDEM_PRODUCAO, @COR_PRODUTO, @PROGRAMACAO, @NUMERO_TAMANHOS
WHILE @@FETCH_STATUS = 0
BEGIN

	/*GRADE MÍNIMA*/
	IF @UTILIZAR_GRADE_MINIMA = 1 AND EXISTS(SELECT 1 FROM SYSOBJECTS WHERE NAME= 'LX_GRADE_MINIMA_PRODUTO' AND XTYPE='P')
	BEGIN
		EXEC  LX_GRADE_MINIMA_PRODUTO @PRODUTO, @COR_PRODUTO,
						@GM1  OUTPUT , @GM2  OUTPUT , @GM3  OUTPUT , @GM4  OUTPUT , @GM5  OUTPUT , @GM6  OUTPUT , @GM7  OUTPUT , @GM8  OUTPUT , 
						@GM9  OUTPUT , @GM10 OUTPUT , @GM11 OUTPUT , @GM12 OUTPUT ,
						@GM13 OUTPUT , @GM14 OUTPUT , @GM15 OUTPUT , @GM16 OUTPUT , @GM17 OUTPUT , @GM18 OUTPUT , @GM19 OUTPUT , @GM20 OUTPUT , @GM21 OUTPUT , @GM22 OUTPUT , @GM23 OUTPUT , @GM24 OUTPUT ,
						@GM25 OUTPUT , @GM26 OUTPUT , @GM27 OUTPUT , @GM28 OUTPUT , @GM29 OUTPUT , @GM30 OUTPUT , @GM31 OUTPUT , @GM32 OUTPUT , @GM33 OUTPUT , @GM34 OUTPUT , @GM35 OUTPUT , @GM36 OUTPUT ,
						@GM37 OUTPUT , @GM38 OUTPUT , @GM39 OUTPUT , @GM40 OUTPUT , @GM41 OUTPUT , @GM42 OUTPUT , @GM43 OUTPUT , @GM44 OUTPUT , @GM45 OUTPUT , @GM46 OUTPUT , @GM47 OUTPUT , @GM48, @GRADE_MINIMA OUTPUT
			
	END
	/*------------*/


	/* VERIFICA SE NUMERO E DE OP OU PEDIDO DE COMPRA */
	IF EXISTS (SELECT * FROM PRODUCAO_ORDEM WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO)
		SELECT 	@OP = @ORDEM_PRODUCAO,
			@PED_COMPRA = ''
	ELSE
		SELECT 	@PED_COMPRA = @ORDEM_PRODUCAO,
			@OP = ''
	
	/* VERIFICA SE PROCESSA POR PACK/PACK COR */
	SELECT @PROCESSA_PACK = 0, @CODIGO_PACK = ''
	IF @PACKS <> 0
	BEGIN
		IF @PACKS = 1
		BEGIN
			SELECT 	TOP 1 @CODIGO_PACK = PACK,
				      @P1  = Q1,  @P2  = Q2,  @P3  = Q3,  @P4  = Q4,  @P5  = Q5,  @P6  = Q6,  @P7  = Q7,  @P8  = Q8,  @P9  = Q9,  @P10 = Q10, @P11 = Q11, @P12 = Q12, @P13 = Q13, @P14 = Q14, @P15 = Q15, @P16 = Q16, @P17 = Q17, @P18 = Q18, @P19 = Q19, @P20 = Q20, @P21 = Q21, @P22 = Q22, @P23 = Q23, @P24 = Q24,
				      @P25 = Q25, @P26 = Q26, @P27 = Q27, @P28 = Q28, @P29 = Q29, @P30 = Q30, @P31 = Q31, @P32 = Q32, @P33 = Q33, @P34 = Q34, @P35 = Q35, @P36 = Q36, @P37 = Q37, @P38 = Q38, @P39 = Q39, @P40 = Q40, @P41 = Q41, @P42 = Q42, @P43 = Q43, @P44 = Q44, @P45 = Q45, @P46 = Q46, @P47 = Q47, @P48 = Q48
				FROM PRODUTOS_PACKS_PERMITIDOS WHERE PRODUTO = @PRODUTO AND INDICA_PACK_COR = 0
			IF @@ROWCOUNT > 0
				SELECT @PROCESSA_PACK = 1				
		END
		ELSE
		BEGIN
			SELECT TOP 1 @CODIGO_PACK = PACK FROM PRODUTOS_PACKS_PERMITIDOS 
						WHERE PRODUTO = @PRODUTO AND 
							  COR_PRODUTO = @COR_PRODUTO AND 
							  INDICA_PACK_COR = 1

			IF ISNULL(@CODIGO_PACK, '') <> ''
				SELECT @PROCESSA_PACK = 1
		END
	END

	/* SE PROCESSAMENTO NORMAL 0 OU POR PACK 1 */
	IF @PACKS <> 2 OR @PROCESSA_PACK = 0
	BEGIN

		/* APAGA ITENS EM VENDAS_PRODUTO */
		DECLARE CURSOR_DELETE CURSOR FOR SELECT DISTINCT VENDAS.PEDIDO FROM VENDAS JOIN VENDAS_PRODUTO ON VENDAS.PEDIDO = VENDAS_PRODUTO.PEDIDO WHERE ROMANEIO = @ROMANEIO AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO
		OPEN CURSOR_DELETE
		FETCH NEXT FROM CURSOR_DELETE INTO @PEDIDO
		WHILE @@FETCH_STATUS = 0
		BEGIN
			DELETE FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO
			SELECT @XCONTA = COUNT(*), @TOT_QTDE = ISNULL(SUM(QTDE_ORIGINAL), 0), @TOT_VALOR = ISNULL(SUM(VALOR_ORIGINAL), 0) FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO
			IF @XCONTA = 0
				DELETE FROM VENDAS WHERE PEDIDO = @PEDIDO

			FETCH NEXT FROM CURSOR_DELETE INTO @PEDIDO
		END
		CLOSE CURSOR_DELETE
		DEALLOCATE CURSOR_DELETE
		SELECT @STATUS = 'P'
		SELECT @D1 = 0, @D2 = 0, @D3 = 0, @D4 = 0, @D5 = 0, @D6 = 0, @D7 = 0, @D8 = 0, @D9 = 0, @D10 = 0, @D11 = 0, @D12 = 0, @D13 = 0, @D14 = 0, @D15 = 0, @D16 = 0, @D17 = 0, @D18 = 0, @D19 = 0, @D20 = 0, @D21 = 0, @D22 = 0, @D23 = 0, @D24 = 0, @D25 = 0, @D26 = 0, @D27 = 0, @D28 = 0, @D29 = 0, @D30 = 0, @D31 = 0, @D32 = 0, @D33 = 0, @D34 = 0, @D35 = 0, @D36 = 0, @D37 = 0, @D38 = 0, @D39 = 0, @D40 = 0, @D41 = 0, @D42 = 0, @D43 = 0, @D44 = 0, @D45 = 0, @D46 = 0, @D47 = 0, @D48 = 0
		SELECT @ES1 = 0, @ES2 = 0, @ES3 = 0, @ES4 = 0, @ES5 = 0, @ES6 = 0, @ES7 = 0, @ES8 = 0, @ES9 = 0, @ES10 = 0, @ES11 = 0, @ES12 = 0, @ES13 = 0, @ES14 = 0, @ES15 = 0, @ES16 = 0, @ES17 = 0, @ES18 = 0, @ES19 = 0, @ES20 = 0, @ES21 = 0, @ES22 = 0, @ES23 = 0, @ES24 = 0, @ES25 = 0, @ES26 = 0, @ES27 = 0, @ES28 = 0, @ES29 = 0, @ES30 = 0, @ES31 = 0, @ES32 = 0, @ES33 = 0, @ES34 = 0, @ES35 = 0, @ES36 = 0, @ES37 = 0, @ES38 = 0, @ES39 = 0, @ES40 = 0, @ES41 = 0, @ES42 = 0, @ES43 = 0, @ES44 = 0, @ES45 = 0, @ES46 = 0, @ES47 = 0, @ES48 = 0
		IF CHARINDEX('C', @DISPONIVEL) > 0
		BEGIN
			IF ISNULL(@PED_COMPRA, '') <> ''
				SELECT  @D1  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO1  ELSE CE1  END), 0), @D2  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO2  ELSE CE2  END), 0), @D3  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO3  ELSE CE3  END), 0), @D4  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO4  ELSE CE4  END), 0), @D5  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO5  ELSE CE5  END), 0), @D6  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO6  ELSE CE6  END), 0), @D7  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO7  ELSE CE7  END), 0), @D8  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO8  ELSE CE8  END), 0), 
					@D9  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO9  ELSE CE9  END), 0), @D10 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO10 ELSE CE10 END), 0), @D11 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO11 ELSE CE11 END), 0), @D12 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO12 ELSE CE12 END), 0), @D13 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO13 ELSE CE13 END), 0), @D14 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO14 ELSE CE14 END), 0), @D15 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO15 ELSE CE15 END), 0), @D16 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO16 ELSE CE16 END), 0), 
					@D17 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO17 ELSE CE17 END), 0), @D18 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO18 ELSE CE18 END), 0), @D19 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO19 ELSE CE19 END), 0), @D20 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO20 ELSE CE20 END), 0), @D21 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO21 ELSE CE21 END), 0), @D22 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO22 ELSE CE22 END), 0), @D23 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO23 ELSE CE23 END), 0), @D24 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO24 ELSE CE24 END), 0),
					@D25 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO25 ELSE CE25 END), 0), @D26 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO26 ELSE CE26 END), 0), @D27 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO27 ELSE CE27 END), 0), @D28 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO28 ELSE CE28 END), 0), @D29 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO29 ELSE CE29 END), 0), @D30 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO30 ELSE CE30 END), 0), @D31 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO31 ELSE CE31 END), 0), @D32 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO32 ELSE CE32 END), 0), 
					@D33 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO33 ELSE CE33 END), 0), @D34 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO34 ELSE CE34 END), 0), @D35 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO35 ELSE CE35 END), 0), @D36 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO36 ELSE CE36 END), 0), @D37 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO37 ELSE CE37 END), 0), @D38 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO38 ELSE CE38 END), 0), @D39 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO39 ELSE CE39 END), 0), @D40 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO40 ELSE CE40 END), 0), 
					@D41 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO41 ELSE CE41 END), 0), @D42 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO42 ELSE CE42 END), 0), @D43 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO43 ELSE CE43 END), 0), @D44 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO44 ELSE CE44 END), 0), @D45 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO45 ELSE CE45 END), 0), @D46 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO46 ELSE CE46 END), 0), @D47 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO47 ELSE CE47 END), 0), @D48 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO48 ELSE CE48 END), 0)
					FROM COMPRAS A JOIN COMPRAS_PRODUTO B ON A.PEDIDO = B.PEDIDO WHERE FILIAL_A_ENTREGAR = @FILIAL_DISPONIVEL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO AND A.PEDIDO = @PED_COMPRA
			ELSE
			BEGIN
				SELECT  @D1  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO1  ELSE CE1  END), 0), @D2  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO2  ELSE CE2  END), 0), @D3  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO3  ELSE CE3  END), 0), @D4  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO4  ELSE CE4  END), 0), @D5  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO5  ELSE CE5  END), 0), @D6  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO6  ELSE CE6  END), 0), @D7  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO7  ELSE CE7  END), 0), @D8  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO8  ELSE CE8  END), 0), 
					@D9  = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO9  ELSE CE9  END), 0), @D10 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO10 ELSE CE10 END), 0), @D11 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO11 ELSE CE11 END), 0), @D12 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO12 ELSE CE12 END), 0), @D13 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO13 ELSE CE13 END), 0), @D14 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO14 ELSE CE14 END), 0), @D15 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO15 ELSE CE15 END), 0), @D16 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO16 ELSE CE16 END), 0), 
					@D17 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO17 ELSE CE17 END), 0), @D18 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO18 ELSE CE18 END), 0), @D19 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO19 ELSE CE19 END), 0), @D20 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO20 ELSE CE20 END), 0), @D21 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO21 ELSE CE21 END), 0), @D22 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO22 ELSE CE22 END), 0), @D23 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO23 ELSE CE23 END), 0), @D24 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO24 ELSE CE24 END), 0),
					@D25 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO25 ELSE CE25 END), 0), @D26 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO26 ELSE CE26 END), 0), @D27 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO27 ELSE CE27 END), 0), @D28 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO28 ELSE CE28 END), 0), @D29 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO29 ELSE CE29 END), 0), @D30 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO30 ELSE CE30 END), 0), @D31 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO31 ELSE CE31 END), 0), @D32 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO32 ELSE CE32 END), 0), 
					@D33 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO33 ELSE CE33 END), 0), @D34 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO34 ELSE CE34 END), 0), @D35 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO35 ELSE CE35 END), 0), @D36 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO36 ELSE CE36 END), 0), @D37 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO37 ELSE CE37 END), 0), @D38 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO38 ELSE CE38 END), 0), @D39 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO39 ELSE CE39 END), 0), @D40 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO40 ELSE CE40 END), 0), 
					@D41 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO41 ELSE CE41 END), 0), @D42 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO42 ELSE CE42 END), 0), @D43 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO43 ELSE CE43 END), 0), @D44 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO44 ELSE CE44 END), 0), @D45 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO45 ELSE CE45 END), 0), @D46 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO46 ELSE CE46 END), 0), @D47 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO47 ELSE CE47 END), 0), @D48 = ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN CO48 ELSE CE48 END), 0)
					FROM COMPRAS A JOIN COMPRAS_PRODUTO B ON A.PEDIDO = B.PEDIDO WHERE FILIAL_A_ENTREGAR = @FILIAL_DISPONIVEL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO AND (EMISSAO >= @COMPRAS_I OR @COMPRAS_I IS NULL)AND (EMISSAO <= @COMPRAS_F OR @COMPRAS_F IS NULL) AND (A.PEDIDO >= @PEDIDO_I OR @PEDIDO_I IS NULL) AND (A.PEDIDO <= @PEDIDO_F OR @PEDIDO_F IS NULL)
			END
		END
		IF CHARINDEX('O', @DISPONIVEL) > 0
		BEGIN
			IF ISNULL(@OP, '') <> ''
				SELECT  @D1  = @D1  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O1  ELSE P1  END), 0), @D2  = @D2  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O2  ELSE P2  END), 0), @D3  = @D3  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O3  ELSE P3  END), 0), @D4  = @D4  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O4  ELSE P4  END), 0), @D5  = @D5  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O5  ELSE P5  END), 0), @D6  = @D6  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O6  ELSE P6  END), 0), @D7  = @D7  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O7  ELSE P7  END), 0), @D8  = @D8  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O8  ELSE P8  END), 0), 
					@D9  = @D9  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O9  ELSE P9  END), 0), @D10 = @D10 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O10 ELSE P10 END), 0), @D11 = @D11 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O11 ELSE P11 END), 0), @D12 = @D12 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O12 ELSE P12 END), 0), @D13 = @D13 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O13 ELSE P13 END), 0), @D14 = @D14 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O14 ELSE P14 END), 0), @D15 = @D15 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O15 ELSE P15 END), 0), @D16 = @D16 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O16 ELSE P16 END), 0), 
					@D17 = @D17 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O17 ELSE P17 END), 0), @D18 = @D18 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O18 ELSE P18 END), 0), @D19 = @D19 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O19 ELSE P19 END), 0), @D20 = @D20 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O20 ELSE P20 END), 0), @D21 = @D21 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O21 ELSE P21 END), 0), @D22 = @D22 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O22 ELSE P22 END), 0), @D23 = @D23 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O23 ELSE P23 END), 0), @D24 = @D24 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O24 ELSE P24 END), 0),
					@D25 = @D25 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O25 ELSE P25 END), 0), @D26 = @D26 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O26 ELSE P26 END), 0), @D27 = @D27 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O27 ELSE P27 END), 0), @D28 = @D28 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O28 ELSE P28 END), 0), @D29 = @D29 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O29 ELSE P29 END), 0), @D30 = @D30 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O30 ELSE P30 END), 0), @D31 = @D31 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O31 ELSE P31 END), 0), @D32 = @D32 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O32 ELSE P32 END), 0), 
					@D33 = @D33 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O33 ELSE P33 END), 0), @D34 = @D34 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O34 ELSE P34 END), 0), @D35 = @D35 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O35 ELSE P35 END), 0), @D36 = @D36 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O36 ELSE P36 END), 0), @D37 = @D37 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O37 ELSE P37 END), 0), @D38 = @D38 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O38 ELSE P38 END), 0), @D39 = @D39 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O39 ELSE P39 END), 0), @D40 = @D40 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O40 ELSE P40 END), 0), 
					@D41 = @D41 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O41 ELSE P41 END), 0), @D42 = @D42 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O42 ELSE P42 END), 0), @D43 = @D43 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O43 ELSE P43 END), 0), @D44 = @D44 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O44 ELSE P44 END), 0), @D45 = @D45 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O45 ELSE P45 END), 0), @D46 = @D46 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O46 ELSE P46 END), 0), @D47 = @D47 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O47 ELSE P47 END), 0), @D48 = @D48 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O48 ELSE P48 END), 0)
					FROM PRODUCAO_ORDEM A JOIN PRODUCAO_ORDEM_COR B ON A.ORDEM_PRODUCAO = B.ORDEM_PRODUCAO AND A.PRODUTO = B.PRODUTO WHERE B.PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO AND FILIAL = @FILIAL_DISPONIVEL AND A.ORDEM_PRODUCAO = @OP
			ELSE
			BEGIN
				SELECT  @D1  = @D1  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O1  ELSE P1  END), 0), @D2  = @D2  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O2  ELSE P2  END), 0), @D3  = @D3  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O3  ELSE P3  END), 0), @D4  = @D4  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O4  ELSE P4  END), 0), @D5  = @D5  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O5  ELSE P5  END), 0), @D6  = @D6  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O6  ELSE P6  END), 0), @D7  = @D7  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O7  ELSE P7  END), 0), @D8  = @D8  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O8  ELSE P8  END), 0), 
					@D9  = @D9  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O9  ELSE P9  END), 0), @D10 = @D10 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O10 ELSE P10 END), 0), @D11 = @D11 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O11 ELSE P11 END), 0), @D12 = @D12 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O12 ELSE P12 END), 0), @D13 = @D13 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O13 ELSE P13 END), 0), @D14 = @D14 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O14 ELSE P14 END), 0), @D15 = @D15 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O15 ELSE P15 END), 0), @D16 = @D16 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O16 ELSE P16 END), 0), 
					@D17 = @D17 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O17 ELSE P17 END), 0), @D18 = @D18 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O18 ELSE P18 END), 0), @D19 = @D19 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O19 ELSE P19 END), 0), @D20 = @D20 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O20 ELSE P20 END), 0), @D21 = @D21 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O21 ELSE P21 END), 0), @D22 = @D22 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O22 ELSE P22 END), 0), @D23 = @D23 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O23 ELSE P23 END), 0), @D24 = @D24 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O24 ELSE P24 END), 0),
					@D25 = @D25 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O25 ELSE P25 END), 0), @D26 = @D26 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O26 ELSE P26 END), 0), @D27 = @D27 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O27 ELSE P27 END), 0), @D28 = @D28 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O28 ELSE P28 END), 0), @D29 = @D29 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O29 ELSE P29 END), 0), @D30 = @D30 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O30 ELSE P30 END), 0), @D31 = @D31 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O31 ELSE P31 END), 0), @D32 = @D32 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O32 ELSE P32 END), 0), 
					@D33 = @D33 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O33 ELSE P33 END), 0), @D34 = @D34 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O34 ELSE P34 END), 0), @D35 = @D35 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O35 ELSE P35 END), 0), @D36 = @D36 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O36 ELSE P36 END), 0), @D37 = @D37 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O37 ELSE P37 END), 0), @D38 = @D38 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O38 ELSE P38 END), 0), @D39 = @D39 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O39 ELSE P39 END), 0), @D40 = @D40 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O40 ELSE P40 END), 0), 
					@D41 = @D41 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O41 ELSE P41 END), 0), @D42 = @D42 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O42 ELSE P42 END), 0), @D43 = @D43 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O43 ELSE P43 END), 0), @D44 = @D44 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O44 ELSE P44 END), 0), @D45 = @D45 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O45 ELSE P45 END), 0), @D46 = @D46 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O46 ELSE P46 END), 0), @D47 = @D47 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O47 ELSE P47 END), 0), @D48 = @D48 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN O48 ELSE P48 END), 0)
					FROM PRODUCAO_ORDEM A JOIN PRODUCAO_ORDEM_COR B ON A.ORDEM_PRODUCAO = B.ORDEM_PRODUCAO AND A.PRODUTO = B.PRODUTO  WHERE B.PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO AND FILIAL = @FILIAL_DISPONIVEL  AND (PREVISAO_FIM >= @PRODUCAO_I OR @PRODUCAO_I IS NULL) AND (PREVISAO_FIM <= @PRODUCAO_F OR @PRODUCAO_F IS NULL) AND (A.ORDEM_PRODUCAO >= @OP_I OR @OP_I IS NULL) AND (A.ORDEM_PRODUCAO <= @OP_F OR @OP_F IS NULL)
			END
		END
		IF CHARINDEX('E', @DISPONIVEL) > 0
		BEGIN
			SELECT  @ES1  = DBO.LX_POSITIVO_INT(ISNULL(ES1,  0)), @ES2  = DBO.LX_POSITIVO_INT(ISNULL(ES2,  0)), @ES3  = DBO.LX_POSITIVO_INT(ISNULL(ES3,  0)), @ES4  = DBO.LX_POSITIVO_INT(ISNULL(ES4,  0)), @ES5  = DBO.LX_POSITIVO_INT(ISNULL(ES5,  0)), @ES6  = DBO.LX_POSITIVO_INT(ISNULL(ES6,  0)), @ES7  = DBO.LX_POSITIVO_INT(ISNULL(ES7,  0)), @ES8  = DBO.LX_POSITIVO_INT(ISNULL(ES8,  0)), 
				@ES9  = DBO.LX_POSITIVO_INT(ISNULL(ES9,  0)), @ES10 = DBO.LX_POSITIVO_INT(ISNULL(ES10, 0)), @ES11 = DBO.LX_POSITIVO_INT(ISNULL(ES11, 0)), @ES12 = DBO.LX_POSITIVO_INT(ISNULL(ES12, 0)), @ES13 = DBO.LX_POSITIVO_INT(ISNULL(ES13, 0)), @ES14 = DBO.LX_POSITIVO_INT(ISNULL(ES14, 0)), @ES15 = DBO.LX_POSITIVO_INT(ISNULL(ES15, 0)), @ES16 = DBO.LX_POSITIVO_INT(ISNULL(ES16, 0)), 
				@ES17 = DBO.LX_POSITIVO_INT(ISNULL(ES17, 0)), @ES18 = DBO.LX_POSITIVO_INT(ISNULL(ES18, 0)), @ES19 = DBO.LX_POSITIVO_INT(ISNULL(ES19, 0)), @ES20 = DBO.LX_POSITIVO_INT(ISNULL(ES20, 0)), @ES21 = DBO.LX_POSITIVO_INT(ISNULL(ES21, 0)), @ES22 = DBO.LX_POSITIVO_INT(ISNULL(ES22, 0)), @ES23 = DBO.LX_POSITIVO_INT(ISNULL(ES23, 0)), @ES24 = DBO.LX_POSITIVO_INT(ISNULL(ES24, 0)), 
				@ES25 = DBO.LX_POSITIVO_INT(ISNULL(ES25, 0)), @ES26 = DBO.LX_POSITIVO_INT(ISNULL(ES26, 0)), @ES27 = DBO.LX_POSITIVO_INT(ISNULL(ES27, 0)), @ES28 = DBO.LX_POSITIVO_INT(ISNULL(ES28, 0)), @ES29 = DBO.LX_POSITIVO_INT(ISNULL(ES29, 0)), @ES30 = DBO.LX_POSITIVO_INT(ISNULL(ES30, 0)), @ES31 = DBO.LX_POSITIVO_INT(ISNULL(ES31, 0)), @ES32 = DBO.LX_POSITIVO_INT(ISNULL(ES32, 0)), 
				@ES33 = DBO.LX_POSITIVO_INT(ISNULL(ES33, 0)), @ES34 = DBO.LX_POSITIVO_INT(ISNULL(ES34, 0)), @ES35 = DBO.LX_POSITIVO_INT(ISNULL(ES35, 0)), @ES36 = DBO.LX_POSITIVO_INT(ISNULL(ES36, 0)), @ES37 = DBO.LX_POSITIVO_INT(ISNULL(ES37, 0)), @ES38 = DBO.LX_POSITIVO_INT(ISNULL(ES38, 0)), @ES39 = DBO.LX_POSITIVO_INT(ISNULL(ES39, 0)), @ES40 = DBO.LX_POSITIVO_INT(ISNULL(ES40, 0)), 
				@ES41 = DBO.LX_POSITIVO_INT(ISNULL(ES41, 0)), @ES42 = DBO.LX_POSITIVO_INT(ISNULL(ES42, 0)), @ES43 = DBO.LX_POSITIVO_INT(ISNULL(ES43, 0)), @ES44 = DBO.LX_POSITIVO_INT(ISNULL(ES44, 0)), @ES45 = DBO.LX_POSITIVO_INT(ISNULL(ES45, 0)), @ES46 = DBO.LX_POSITIVO_INT(ISNULL(ES46, 0)), @ES47 = DBO.LX_POSITIVO_INT(ISNULL(ES47, 0)), @ES48 = DBO.LX_POSITIVO_INT(ISNULL(ES48, 0))
				FROM ESTOQUE_PRODUTOS WHERE FILIAL = @FILIAL_DISPONIVEL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO


			SELECT 	@ES1  = DBO.LX_POSITIVO_INT(@ES1  - ISNULL(SUM(E1),  0)), @ES2  = DBO.LX_POSITIVO_INT(@ES2  - ISNULL(SUM(E2),  0)), @ES3  = DBO.LX_POSITIVO_INT(@ES3  - ISNULL(SUM(E3),  0)), @ES4  = DBO.LX_POSITIVO_INT(@ES4  - ISNULL(SUM(E4),  0)), @ES5  = DBO.LX_POSITIVO_INT(@ES5  - ISNULL(SUM(E5),  0)), @ES6  = DBO.LX_POSITIVO_INT(@ES6  - ISNULL(SUM(E6),  0)), @ES7  = DBO.LX_POSITIVO_INT(@ES7  - ISNULL(SUM(E7),  0)), @ES8  = DBO.LX_POSITIVO_INT(@ES8  - ISNULL(SUM(E8),  0)),
				@ES9  = DBO.LX_POSITIVO_INT(@ES9  - ISNULL(SUM(E9),  0)), @ES10 = DBO.LX_POSITIVO_INT(@ES10 - ISNULL(SUM(E10), 0)), @ES11 = DBO.LX_POSITIVO_INT(@ES11 - ISNULL(SUM(E11), 0)), @ES12 = DBO.LX_POSITIVO_INT(@ES12 - ISNULL(SUM(E12), 0)), @ES13 = DBO.LX_POSITIVO_INT(@ES13 - ISNULL(SUM(E13), 0)), @ES14 = DBO.LX_POSITIVO_INT(@ES14 - ISNULL(SUM(E14), 0)), @ES15 = DBO.LX_POSITIVO_INT(@ES15 - ISNULL(SUM(E15), 0)), @ES16 = DBO.LX_POSITIVO_INT(@ES16 - ISNULL(SUM(E16), 0)),
				@ES17 = DBO.LX_POSITIVO_INT(@ES17 - ISNULL(SUM(E17), 0)), @ES18 = DBO.LX_POSITIVO_INT(@ES18 - ISNULL(SUM(E18), 0)), @ES19 = DBO.LX_POSITIVO_INT(@ES19 - ISNULL(SUM(E19), 0)), @ES20 = DBO.LX_POSITIVO_INT(@ES20 - ISNULL(SUM(E20), 0)), @ES21 = DBO.LX_POSITIVO_INT(@ES21 - ISNULL(SUM(E21), 0)), @ES22 = DBO.LX_POSITIVO_INT(@ES22 - ISNULL(SUM(E22), 0)), @ES23 = DBO.LX_POSITIVO_INT(@ES23 - ISNULL(SUM(E23), 0)), @ES24 = DBO.LX_POSITIVO_INT(@ES24 - ISNULL(SUM(E24), 0)),
				@ES25 = DBO.LX_POSITIVO_INT(@ES25 - ISNULL(SUM(E25), 0)), @ES26 = DBO.LX_POSITIVO_INT(@ES26 - ISNULL(SUM(E26), 0)), @ES27 = DBO.LX_POSITIVO_INT(@ES27 - ISNULL(SUM(E27), 0)), @ES28 = DBO.LX_POSITIVO_INT(@ES28 - ISNULL(SUM(E28), 0)), @ES29 = DBO.LX_POSITIVO_INT(@ES29 - ISNULL(SUM(E29), 0)), @ES30 = DBO.LX_POSITIVO_INT(@ES30 - ISNULL(SUM(E30), 0)), @ES31 = DBO.LX_POSITIVO_INT(@ES31 - ISNULL(SUM(E31), 0)), @ES32 = DBO.LX_POSITIVO_INT(@ES32 - ISNULL(SUM(E32), 0)), 
				@ES33 = DBO.LX_POSITIVO_INT(@ES33 - ISNULL(SUM(E33), 0)), @ES34 = DBO.LX_POSITIVO_INT(@ES34 - ISNULL(SUM(E34), 0)), @ES35 = DBO.LX_POSITIVO_INT(@ES35 - ISNULL(SUM(E35), 0)), @ES36 = DBO.LX_POSITIVO_INT(@ES36 - ISNULL(SUM(E36), 0)), @ES37 = DBO.LX_POSITIVO_INT(@ES37 - ISNULL(SUM(E37), 0)), @ES38 = DBO.LX_POSITIVO_INT(@ES38 - ISNULL(SUM(E38), 0)), @ES39 = DBO.LX_POSITIVO_INT(@ES39 - ISNULL(SUM(E39), 0)), @ES30 = DBO.LX_POSITIVO_INT(@ES40 - ISNULL(SUM(E40), 0)), 
				@ES41 = DBO.LX_POSITIVO_INT(@ES41 - ISNULL(SUM(E41), 0)), @ES42 = DBO.LX_POSITIVO_INT(@ES42 - ISNULL(SUM(E42), 0)), @ES43 = DBO.LX_POSITIVO_INT(@ES43 - ISNULL(SUM(E43), 0)), @ES44 = DBO.LX_POSITIVO_INT(@ES44 - ISNULL(SUM(E44), 0)), @ES45 = DBO.LX_POSITIVO_INT(@ES45 - ISNULL(SUM(E45), 0)), @ES46 = DBO.LX_POSITIVO_INT(@ES46 - ISNULL(SUM(E46), 0)), @ES47 = DBO.LX_POSITIVO_INT(@ES47 - ISNULL(SUM(E47), 0)), @ES48 = DBO.LX_POSITIVO_INT(@ES48 - ISNULL(SUM(E48), 0))
				FROM VENDAS_PROD_EMBALADO WHERE PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO AND FILIAL = @FILIAL_DISPONIVEL
			SELECT  @D1  = @D1  + @ES1,  @D2  = @D2  + @ES2,  @D3  = @D3  + @ES3,  @D4  = @D4  + @ES4,  @D5  = @D5  + @ES5,  @D6  = @D6  + @ES6,  @D7  = @D7  + @ES7,  @D8  = @D8  + @ES8,  @D9  = @D9  + @ES9,  @D10 = @D10 + @ES10, @D11 = @D11 + @ES11, @D12 = @D12 + @ES12, @D13 = @D13 + @ES13, @D14 = @D14 + @ES14, @D15 = @D15 + @ES15, @D16 = @D16 + @ES16, @D17 = @D17 + @ES17, @D18 = @D18 + @ES18, @D19 = @D19 + @ES19, @D20 = @D20 + @ES20, @D21 = @D21 + @ES21, @D22 = @D22 + @ES22, @D23 = @D23 + @ES23, @D24 = @D24 + @ES24,
				@D25 = @D25 + @ES25, @D26 = @D26 + @ES26, @D27 = @D27 + @ES27, @D28 = @D28 + @ES28, @D29 = @D29 + @ES29, @D30 = @D30 + @ES30, @D31 = @D31 + @ES31, @D32 = @D32 + @ES32, @D33 = @D33 + @ES33, @D34 = @D34 + @ES34, @D35 = @D35 + @ES35, @D36 = @D36 + @ES36, @D37 = @D37 + @ES37, @D38 = @D38 + @ES38, @D39 = @D39 + @ES39, @D40 = @D40 + @ES40, @D41 = @D41 + @ES41, @D42 = @D42 + @ES42, @D43 = @D43 + @ES43, @D44 = @D44 + @ES44, @D45 = @D45 + @ES45, @D46 = @D46 + @ES46, @D47 = @D47 + @ES47, @D48 = @D48 + @ES48
		END

		IF CHARINDEX('P', @DISPONIVEL) > 0
		BEGIN
			IF ISNULL(@PROGRAMACAO, '') <> ''
				SELECT  @D1  = @D1  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P1  ELSE S1  END), 0), @D2  = @D2  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P2  ELSE S2  END), 0), @D3  = @D3  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P3  ELSE S3  END), 0), @D4  = @D4  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P4  ELSE S4  END), 0), @D5  = @D5  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P5  ELSE S5  END), 0), @D6  = @D6  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P6  ELSE S6  END), 0), @D7  = @D7  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P7  ELSE S7  END), 0), @D8  = @D8  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P8  ELSE S8  END), 0), 
					@D9  = @D9  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P9  ELSE S9  END), 0), @D10 = @D10 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P10 ELSE S10 END), 0), @D11 = @D11 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P11 ELSE S11 END), 0), @D12 = @D12 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P12 ELSE S12 END), 0), @D13 = @D13 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P13 ELSE S13 END), 0), @D14 = @D14 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P14 ELSE S14 END), 0), @D15 = @D15 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P15 ELSE S15 END), 0), @D16 = @D16 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P16 ELSE S16 END), 0), 
					@D17 = @D17 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P17 ELSE S17 END), 0), @D18 = @D18 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P18 ELSE S18 END), 0), @D19 = @D19 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P19 ELSE S19 END), 0), @D20 = @D20 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P20 ELSE S20 END), 0), @D21 = @D21 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P21 ELSE S21 END), 0), @D22 = @D22 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P22 ELSE S22 END), 0), @D23 = @D23 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P23 ELSE S23 END), 0), @D24 = @D24 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P24 ELSE S24 END), 0),
					@D25 = @D25 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P25 ELSE S25 END), 0), @D26 = @D26 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P26 ELSE S26 END), 0), @D27 = @D27 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P27 ELSE S27 END), 0), @D28 = @D28 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P28 ELSE S28 END), 0), @D29 = @D29 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P29 ELSE S29 END), 0), @D30 = @D30 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P30 ELSE S30 END), 0), @D31 = @D31 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P31 ELSE S31 END), 0), @D32 = @D32 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P32 ELSE S32 END), 0), 
					@D33 = @D33 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P33 ELSE S33 END), 0), @D34 = @D34 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P34 ELSE S34 END), 0), @D35 = @D35 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P35 ELSE S35 END), 0), @D36 = @D36 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P36 ELSE S36 END), 0), @D37 = @D37 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P37 ELSE S37 END), 0), @D38 = @D38 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P38 ELSE S38 END), 0), @D39 = @D39 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P39 ELSE S39 END), 0), @D40 = @D40 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P40 ELSE S40 END), 0), 
					@D41 = @D41 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P41 ELSE S41 END), 0), @D42 = @D42 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P42 ELSE S42 END), 0), @D43 = @D43 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P43 ELSE S43 END), 0), @D44 = @D44 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P44 ELSE S44 END), 0), @D45 = @D45 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P45 ELSE S45 END), 0), @D46 = @D46 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P46 ELSE S46 END), 0), @D47 = @D47 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P47 ELSE S47 END), 0), @D48 = @D48 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P48 ELSE S48 END), 0)
					FROM PRODUCAO_PROG_PROD JOIN PRODUCAO_PROGRAMA ON PRODUCAO_PROG_PROD.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO WHERE PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO AND PRODUCAO_PROGRAMA.PROGRAMACAO = @PROGRAMACAO
			ELSE
			BEGIN
				SELECT  @D1  = @D1  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P1  ELSE S1  END), 0), @D2  = @D2  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P2  ELSE S2  END), 0), @D3  = @D3  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P3  ELSE S3  END), 0), @D4  = @D4  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P4  ELSE S4  END), 0), @D5  = @D5  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P5  ELSE S5  END), 0), @D6  = @D6  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P6  ELSE S6  END), 0), @D7  = @D7  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P7  ELSE S7  END), 0), @D8  = @D8  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P8  ELSE S8  END), 0), 
					@D9  = @D9  + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P9  ELSE S9  END), 0), @D10 = @D10 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P10 ELSE S10 END), 0), @D11 = @D11 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P11 ELSE S11 END), 0), @D12 = @D12 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P12 ELSE S12 END), 0), @D13 = @D13 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P13 ELSE S13 END), 0), @D14 = @D14 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P14 ELSE S14 END), 0), @D15 = @D15 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P15 ELSE S15 END), 0), @D16 = @D16 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P16 ELSE S16 END), 0), 
					@D17 = @D17 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P17 ELSE S17 END), 0), @D18 = @D18 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P18 ELSE S18 END), 0), @D19 = @D19 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P19 ELSE S19 END), 0), @D20 = @D20 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P20 ELSE S20 END), 0), @D21 = @D21 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P21 ELSE S21 END), 0), @D22 = @D22 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P22 ELSE S22 END), 0), @D23 = @D23 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P23 ELSE S23 END), 0), @D24 = @D24 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P24 ELSE S24 END), 0),
					@D25 = @D25 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P25 ELSE S25 END), 0), @D26 = @D26 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P26 ELSE S26 END), 0), @D27 = @D27 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P27 ELSE S27 END), 0), @D28 = @D28 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P28 ELSE S28 END), 0), @D29 = @D29 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P29 ELSE S29 END), 0), @D30 = @D30 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P30 ELSE S30 END), 0), @D31 = @D31 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P31 ELSE S31 END), 0), @D32 = @D32 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P32 ELSE S32 END), 0), 
					@D33 = @D33 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P33 ELSE S33 END), 0), @D34 = @D34 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P34 ELSE S34 END), 0), @D35 = @D35 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P35 ELSE S35 END), 0), @D36 = @D36 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P36 ELSE S36 END), 0), @D37 = @D37 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P37 ELSE S37 END), 0), @D38 = @D38 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P38 ELSE S38 END), 0), @D39 = @D39 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P39 ELSE S39 END), 0), @D40 = @D40 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P40 ELSE S40 END), 0), 
					@D41 = @D41 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P41 ELSE S41 END), 0), @D42 = @D42 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P42 ELSE S42 END), 0), @D43 = @D43 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P43 ELSE S43 END), 0), @D44 = @D44 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P44 ELSE S44 END), 0), @D45 = @D45 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P45 ELSE S45 END), 0), @D46 = @D46 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P46 ELSE S46 END), 0), @D47 = @D47 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P47 ELSE S47 END), 0), @D48 = @D48 + ISNULL(SUM(CASE WHEN @TIPO_DISPONIVEL = 1 THEN P48 ELSE S48 END), 0)
					FROM PRODUCAO_PROG_PROD WHERE PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO AND (ENTREGA_INICIAL >= @PROGRAMACAO_I OR @PROGRAMACAO_I IS NULL) AND (ENTREGA_INICIAL <= @PROGRAMACAO_F OR @PROGRAMACAO_F IS NULL)
			END
		END
		/* VENDAS */
		IF CHARINDEX('V', @DISPONIVEL) > 0
		BEGIN
			SELECT 	@ES1  = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE1),  0) - ISNULL(SUM(T1),  0)), @ES2  = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE2),  0) - ISNULL(SUM(T2),  0)), @ES3  = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE3),  0) - ISNULL(SUM(T3),  0)), @ES4  = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE4),  0) - ISNULL(SUM(T4),  0)), @ES5  = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE5),  0) - ISNULL(SUM(T5),  0)), @ES6  = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE6),  0) - ISNULL(SUM(T6),  0)), @ES7  = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE7),  0) - ISNULL(SUM(T7),  0)), @ES8  = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE8),  0) - ISNULL(SUM(T8),  0)),
				@ES9  = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE9),  0) - ISNULL(SUM(T9),  0)), @ES10 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE10), 0) - ISNULL(SUM(T10), 0)), @ES11 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE11), 0) - ISNULL(SUM(T11), 0)), @ES12 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE12), 0) - ISNULL(SUM(T12), 0)), @ES13 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE13), 0) - ISNULL(SUM(T13), 0)), @ES14 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE14), 0) - ISNULL(SUM(T14), 0)), @ES15 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE15), 0) - ISNULL(SUM(T15), 0)), @ES16 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE16), 0) - ISNULL(SUM(T16), 0)),
				@ES17 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE17), 0) - ISNULL(SUM(T17), 0)), @ES18 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE18), 0) - ISNULL(SUM(T18), 0)), @ES19 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE19), 0) - ISNULL(SUM(T19), 0)), @ES20 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE20), 0) - ISNULL(SUM(T20), 0)), @ES21 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE21), 0) - ISNULL(SUM(T21), 0)), @ES22 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE22), 0) - ISNULL(SUM(T22), 0)), @ES23 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE23), 0) - ISNULL(SUM(T23), 0)), @ES24 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE24), 0) - ISNULL(SUM(T24), 0)),
				@ES25 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE25), 0) - ISNULL(SUM(T25), 0)), @ES26 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE26), 0) - ISNULL(SUM(T26), 0)), @ES27 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE27), 0) - ISNULL(SUM(T27), 0)), @ES28 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE28), 0) - ISNULL(SUM(T28), 0)), @ES29 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE29), 0) - ISNULL(SUM(T29), 0)), @ES30 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE30), 0) - ISNULL(SUM(T30), 0)), @ES31 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE31), 0) - ISNULL(SUM(T31), 0)), @ES32 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE32), 0) - ISNULL(SUM(T32), 0)), 
				@ES33 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE33), 0) - ISNULL(SUM(T33), 0)), @ES34 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE34), 0) - ISNULL(SUM(T34), 0)), @ES35 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE35), 0) - ISNULL(SUM(T35), 0)), @ES36 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE36), 0) - ISNULL(SUM(T36), 0)), @ES37 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE37), 0) - ISNULL(SUM(T37), 0)), @ES38 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE38), 0) - ISNULL(SUM(T38), 0)), @ES39 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE39), 0) - ISNULL(SUM(T39), 0)), @ES40 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE40), 0) - ISNULL(SUM(T40), 0)),
				@ES41 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE41), 0) - ISNULL(SUM(T41), 0)), @ES42 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE42), 0) - ISNULL(SUM(T42), 0)), @ES43 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE43), 0) - ISNULL(SUM(T43), 0)), @ES44 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE44), 0) - ISNULL(SUM(T44), 0)), @ES45 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE45), 0) - ISNULL(SUM(T45), 0)), @ES46 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE46), 0) - ISNULL(SUM(T46), 0)), @ES47 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE47), 0) - ISNULL(SUM(T47), 0)), @ES48 = DBO.LX_POSITIVO_INT(ISNULL(SUM(VE48), 0) - ISNULL(SUM(T48), 0))
			FROM VENDAS 
				JOIN VENDAS_PRODUTO ON VENDAS.PEDIDO = VENDAS_PRODUTO.PEDIDO
				JOIN W_VENDAS_DISPONIVEL ON VENDAS_PRODUTO.PEDIDO = W_VENDAS_DISPONIVEL.PEDIDO AND VENDAS_PRODUTO.PRODUTO = W_VENDAS_DISPONIVEL.PRODUTO AND VENDAS_PRODUTO.COR_PRODUTO = W_VENDAS_DISPONIVEL.COR_PRODUTO AND VENDAS_PRODUTO.ENTREGA = W_VENDAS_DISPONIVEL.ENTREGA AND VENDAS_PRODUTO.ITEM_PEDIDO = W_VENDAS_DISPONIVEL.ITEM_PEDIDO
			WHERE VENDAS_PRODUTO.PRODUTO = @PRODUTO AND VENDAS_PRODUTO.COR_PRODUTO = @COR_PRODUTO AND VENDAS.FILIAL = @FILIAL_DISPONIVEL AND VENDAS_PRODUTO.QTDE_ENTREGAR > 0 AND (VENDAS.EMISSAO >= @EMISSAO_VENDAS_I OR @EMISSAO_VENDAS_I IS NULL) AND (VENDAS.EMISSAO <= @EMISSAO_VENDAS_F OR @EMISSAO_VENDAS_F IS NULL) AND (VENDAS.PEDIDO >= @PEDIDO_VENDAS_I OR @PEDIDO_VENDAS_I IS NULL) AND (VENDAS.PEDIDO <= @PEDIDO_VENDAS_F OR @PEDIDO_VENDAS_F IS NULL) 

			/* ABATE VENDAS DO DISPONÍVEL */
			SELECT 	@D1  = DBO.LX_POSITIVO_INT(@D1  - @ES1),  @D2  = DBO.LX_POSITIVO_INT(@D2  - @ES2),  @D3  = DBO.LX_POSITIVO_INT(@D3  - @ES3),  @D4  = DBO.LX_POSITIVO_INT(@D4  - @ES4),  @D5  = DBO.LX_POSITIVO_INT(@D5  - @ES5),  @D6  = DBO.LX_POSITIVO_INT(@D6  - @ES6),  @D7  = DBO.LX_POSITIVO_INT(@D7  - @ES7),  @D8  = DBO.LX_POSITIVO_INT(@D8  - @ES8),
				@D9  = DBO.LX_POSITIVO_INT(@D9  - @ES9),  @D10 = DBO.LX_POSITIVO_INT(@D10 - @ES10), @D11 = DBO.LX_POSITIVO_INT(@D11 - @ES11), @D12 = DBO.LX_POSITIVO_INT(@D12 - @ES12), @D13 = DBO.LX_POSITIVO_INT(@D13 - @ES13), @D14 = DBO.LX_POSITIVO_INT(@D14 - @ES14), @D15 = DBO.LX_POSITIVO_INT(@D15 - @ES15), @D16 = DBO.LX_POSITIVO_INT(@D16 - @ES16),
				@D17 = DBO.LX_POSITIVO_INT(@D17 - @ES17), @D18 = DBO.LX_POSITIVO_INT(@D18 - @ES18), @D19 = DBO.LX_POSITIVO_INT(@D19 - @ES19), @D20 = DBO.LX_POSITIVO_INT(@D20 - @ES20), @D21 = DBO.LX_POSITIVO_INT(@D21 - @ES21), @D22 = DBO.LX_POSITIVO_INT(@D22 - @ES22), @D23 = DBO.LX_POSITIVO_INT(@D23 - @ES23), @D24 = DBO.LX_POSITIVO_INT(@D24 - @ES24),
				@D25 = DBO.LX_POSITIVO_INT(@D25 - @ES25), @D26 = DBO.LX_POSITIVO_INT(@D26 - @ES26), @D27 = DBO.LX_POSITIVO_INT(@D27 - @ES27), @D28 = DBO.LX_POSITIVO_INT(@D28 - @ES28), @D29 = DBO.LX_POSITIVO_INT(@D29 - @ES29), @D30 = DBO.LX_POSITIVO_INT(@D30 - @ES30), @D31 = DBO.LX_POSITIVO_INT(@D31 - @ES31), @D32 = DBO.LX_POSITIVO_INT(@D32 - @ES32),
				@D33 = DBO.LX_POSITIVO_INT(@D33 - @ES33), @D34 = DBO.LX_POSITIVO_INT(@D34 - @ES34), @D35 = DBO.LX_POSITIVO_INT(@D35 - @ES35), @D36 = DBO.LX_POSITIVO_INT(@D36 - @ES36), @D37 = DBO.LX_POSITIVO_INT(@D37 - @ES37), @D38 = DBO.LX_POSITIVO_INT(@D38 - @ES38), @D39 = DBO.LX_POSITIVO_INT(@D39 - @ES39), @D40 = DBO.LX_POSITIVO_INT(@D40 - @ES40),
				@D41 = DBO.LX_POSITIVO_INT(@D41 - @ES41), @D42 = DBO.LX_POSITIVO_INT(@D42 - @ES42), @D43 = DBO.LX_POSITIVO_INT(@D43 - @ES43), @D44 = DBO.LX_POSITIVO_INT(@D44 - @ES44), @D45 = DBO.LX_POSITIVO_INT(@D45 - @ES45), @D46 = DBO.LX_POSITIVO_INT(@D46 - @ES46), @D47 = DBO.LX_POSITIVO_INT(@D47 - @ES47), @D48 = DBO.LX_POSITIVO_INT(@D48 - @ES48)
		END
		/* ORDENS DE RESERVA */
		IF CHARINDEX('R', @DISPONIVEL) > 0
		BEGIN
			SELECT 	@ES1  = ISNULL(SUM(R1),  0), @ES2  = ISNULL(SUM(R2),  0), @ES3  = ISNULL(SUM(R3),  0), @ES4  = ISNULL(SUM(R4),  0), @ES5  = ISNULL(SUM(R5),  0), @ES6  = ISNULL(SUM(R6),  0), @ES7  = ISNULL(SUM(R7),  0), @ES8  = ISNULL(SUM(R8),  0),
				@ES9  = ISNULL(SUM(R9),  0), @ES10 = ISNULL(SUM(R10), 0), @ES11 = ISNULL(SUM(R11), 0), @ES12 = ISNULL(SUM(R12), 0), @ES13 = ISNULL(SUM(R13), 0), @ES14 = ISNULL(SUM(R14), 0), @ES15 = ISNULL(SUM(R15), 0), @ES16 = ISNULL(SUM(R16), 0),
				@ES17 = ISNULL(SUM(R17), 0), @ES18 = ISNULL(SUM(R18), 0), @ES19 = ISNULL(SUM(R19), 0), @ES20 = ISNULL(SUM(R20), 0), @ES21 = ISNULL(SUM(R21), 0), @ES22 = ISNULL(SUM(R22), 0), @ES23 = ISNULL(SUM(R23), 0), @ES24 = ISNULL(SUM(R24), 0),
				@ES25 = ISNULL(SUM(R25), 0), @ES26 = ISNULL(SUM(R26), 0), @ES27 = ISNULL(SUM(R27), 0), @ES28 = ISNULL(SUM(R28), 0), @ES29 = ISNULL(SUM(R29), 0), @ES30 = ISNULL(SUM(R30), 0), @ES31 = ISNULL(SUM(R31), 0), @ES32 = ISNULL(SUM(R32), 0),
				@ES33 = ISNULL(SUM(R33), 0), @ES34 = ISNULL(SUM(R34), 0), @ES35 = ISNULL(SUM(R35), 0), @ES36 = ISNULL(SUM(R36), 0), @ES37 = ISNULL(SUM(R37), 0), @ES38 = ISNULL(SUM(R38), 0), @ES39 = ISNULL(SUM(R39), 0), @ES40 = ISNULL(SUM(R40), 0),
				@ES41 = ISNULL(SUM(R41), 0), @ES42 = ISNULL(SUM(R42), 0), @ES43 = ISNULL(SUM(R43), 0), @ES44 = ISNULL(SUM(R44), 0), @ES45 = ISNULL(SUM(R45), 0), @ES46 = ISNULL(SUM(R46), 0), @ES47 = ISNULL(SUM(R47), 0), @ES48 = ISNULL(SUM(R48), 0)
				FROM ROMANEIOS_RESERVAS WHERE PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO AND FILIAL = @FILIAL
			/* ABATE A RESERVAR DO DISPONÍVEL */
			SELECT 	@D1  = DBO.LX_POSITIVO_INT(@D1  - @ES1),  @D2  = DBO.LX_POSITIVO_INT(@D2  - @ES2),  @D3  = DBO.LX_POSITIVO_INT(@D3  - @ES3),  @D4  = DBO.LX_POSITIVO_INT(@D4  - @ES4),  @D5  = DBO.LX_POSITIVO_INT(@D5  - @ES5),  @D6  = DBO.LX_POSITIVO_INT(@D6  - @ES6),  @D7  = DBO.LX_POSITIVO_INT(@D7  - @ES7),  @D8  = DBO.LX_POSITIVO_INT(@D8  - @ES8),
				@D9  = DBO.LX_POSITIVO_INT(@D9  - @ES9),  @D10 = DBO.LX_POSITIVO_INT(@D10 - @ES10), @D11 = DBO.LX_POSITIVO_INT(@D11 - @ES11), @D12 = DBO.LX_POSITIVO_INT(@D12 - @ES12), @D13 = DBO.LX_POSITIVO_INT(@D13 - @ES13), @D14 = DBO.LX_POSITIVO_INT(@D14 - @ES14), @D15 = DBO.LX_POSITIVO_INT(@D15 - @ES15), @D16 = DBO.LX_POSITIVO_INT(@D16 - @ES16),
				@D17 = DBO.LX_POSITIVO_INT(@D17 - @ES17), @D18 = DBO.LX_POSITIVO_INT(@D18 - @ES18), @D19 = DBO.LX_POSITIVO_INT(@D19 - @ES19), @D20 = DBO.LX_POSITIVO_INT(@D20 - @ES20), @D21 = DBO.LX_POSITIVO_INT(@D21 - @ES21), @D22 = DBO.LX_POSITIVO_INT(@D22 - @ES22), @D23 = DBO.LX_POSITIVO_INT(@D23 - @ES23), @D24 = DBO.LX_POSITIVO_INT(@D24 - @ES24),
				@D25 = DBO.LX_POSITIVO_INT(@D25 - @ES25), @D26 = DBO.LX_POSITIVO_INT(@D26 - @ES26), @D27 = DBO.LX_POSITIVO_INT(@D27 - @ES27), @D28 = DBO.LX_POSITIVO_INT(@D28 - @ES28), @D29 = DBO.LX_POSITIVO_INT(@D29 - @ES29), @D30 = DBO.LX_POSITIVO_INT(@D30 - @ES30), @D31 = DBO.LX_POSITIVO_INT(@D31 - @ES31), @D32 = DBO.LX_POSITIVO_INT(@D32 - @ES32),
				@D33 = DBO.LX_POSITIVO_INT(@D33 - @ES33), @D34 = DBO.LX_POSITIVO_INT(@D34 - @ES34), @D35 = DBO.LX_POSITIVO_INT(@D35 - @ES35), @D36 = DBO.LX_POSITIVO_INT(@D36 - @ES36), @D37 = DBO.LX_POSITIVO_INT(@D37 - @ES37), @D38 = DBO.LX_POSITIVO_INT(@D38 - @ES38), @D39 = DBO.LX_POSITIVO_INT(@D39 - @ES39), @D40 = DBO.LX_POSITIVO_INT(@D40 - @ES40),
				@D41 = DBO.LX_POSITIVO_INT(@D41 - @ES41), @D42 = DBO.LX_POSITIVO_INT(@D42 - @ES42), @D43 = DBO.LX_POSITIVO_INT(@D43 - @ES43), @D44 = DBO.LX_POSITIVO_INT(@D44 - @ES44), @D45 = DBO.LX_POSITIVO_INT(@D45 - @ES45), @D46 = DBO.LX_POSITIVO_INT(@D46 - @ES46), @D47 = DBO.LX_POSITIVO_INT(@D47 - @ES47), @D48 = DBO.LX_POSITIVO_INT(@D48 - @ES48)
		END
		/* ATUALIZA PARA % DO DISPONÍVEL QUE SERÁ UTILIZADO */
		SELECT 	@D1  = ((@D1  * @PORCENTAGEM) / 100), @D2  = ((@D2  * @PORCENTAGEM) / 100), @D3  = ((@D3  * @PORCENTAGEM) / 100), @D4  = ((@D4  * @PORCENTAGEM) / 100), @D5  = ((@D5  * @PORCENTAGEM) / 100), @D6  = ((@D6  * @PORCENTAGEM) / 100), @D7  = ((@D7  * @PORCENTAGEM) / 100), @D8  = ((@D8  * @PORCENTAGEM) / 100), @D9  = ((@D9  * @PORCENTAGEM) / 100), @D10 = ((@D10 * @PORCENTAGEM) / 100), @D11 = ((@D11 * @PORCENTAGEM) / 100), @D12 = ((@D12 * @PORCENTAGEM) / 100),
			@D13 = ((@D13 * @PORCENTAGEM) / 100), @D14 = ((@D14 * @PORCENTAGEM) / 100), @D15 = ((@D15 * @PORCENTAGEM) / 100), @D16 = ((@D16 * @PORCENTAGEM) / 100), @D17 = ((@D17 * @PORCENTAGEM) / 100), @D18 = ((@D18 * @PORCENTAGEM) / 100), @D19 = ((@D19 * @PORCENTAGEM) / 100), @D20 = ((@D20 * @PORCENTAGEM) / 100), @D21 = ((@D21 * @PORCENTAGEM) / 100), @D22 = ((@D22 * @PORCENTAGEM) / 100), @D23 = ((@D23 * @PORCENTAGEM) / 100), @D24 = ((@D24 * @PORCENTAGEM) / 100),
			@D25 = ((@D25 * @PORCENTAGEM) / 100), @D26 = ((@D26 * @PORCENTAGEM) / 100), @D27 = ((@D27 * @PORCENTAGEM) / 100), @D28 = ((@D28 * @PORCENTAGEM) / 100), @D29 = ((@D29 * @PORCENTAGEM) / 100), @D30 = ((@D30 * @PORCENTAGEM) / 100), @D31 = ((@D31 * @PORCENTAGEM) / 100), @D32 = ((@D32 * @PORCENTAGEM) / 100), @D33 = ((@D33 * @PORCENTAGEM) / 100), @D34 = ((@D34 * @PORCENTAGEM) / 100), @D35 = ((@D35 * @PORCENTAGEM) / 100), @D36 = ((@D36 * @PORCENTAGEM) / 100),
			@D37 = ((@D37 * @PORCENTAGEM) / 100), @D38 = ((@D38 * @PORCENTAGEM) / 100), @D39 = ((@D39 * @PORCENTAGEM) / 100), @D40 = ((@D40 * @PORCENTAGEM) / 100), @D41 = ((@D41 * @PORCENTAGEM) / 100), @D42 = ((@D42 * @PORCENTAGEM) / 100), @D43 = ((@D43 * @PORCENTAGEM) / 100), @D44 = ((@D44 * @PORCENTAGEM) / 100), @D45 = ((@D45 * @PORCENTAGEM) / 100), @D46 = ((@D46 * @PORCENTAGEM) / 100), @D47 = ((@D47 * @PORCENTAGEM) / 100), @D48 = ((@D48 * @PORCENTAGEM) / 100)
		
		IF @PROCESSA_PACK = 1
		BEGIN
			SELECT 	@D1  = CASE WHEN @P1  = 0 THEN 0 ELSE @D1  / @P1  END, @D2  = CASE WHEN @P2  = 0 THEN 0 ELSE @D2  / @P2  END, @D3  = CASE WHEN @P3  = 0 THEN 0 ELSE @D3  / @P3  END, @D4  = CASE WHEN @P4  = 0 THEN 0 ELSE @D4  / @P4  END, @D5  = CASE WHEN @P5  = 0 THEN 0 ELSE @D5  / @P5  END, @D6  = CASE WHEN @P6  = 0 THEN 0 ELSE @D6  / @P6  END, @D7  = CASE WHEN @P7  = 0 THEN 0 ELSE @D7  / @P7  END, @D8  = CASE WHEN @P8  = 0 THEN 0 ELSE @D8  / @P8  END, @D9  = CASE WHEN @P9  = 0 THEN 0 ELSE @D9  / @P9  END, @D10 = CASE WHEN @P10 = 0 THEN 0 ELSE @D10 / @P10 END, @D11 = CASE WHEN @P11 = 0 THEN 0 ELSE @D11 / @P11 END, @D12 = CASE WHEN @P12 = 0 THEN 0 ELSE @D12 / @P12 END, @D13 = CASE WHEN @P13 = 0 THEN 0 ELSE @D13 / @P13 END, @D14 = CASE WHEN @P14 = 0 THEN 0 ELSE @D14 / @P14 END, @D15 = CASE WHEN @P15 = 0 THEN 0 ELSE @D15 / @P15 END, @D16 = CASE WHEN @P16 = 0 THEN 0 ELSE @D16 / @P16 END, @D17 = CASE WHEN @P17 = 0 THEN 0 ELSE @D17 / @P17 END, @D18 = CASE WHEN @P18 = 0 THEN 0 ELSE @D18 / @P18 END, @D19 = CASE WHEN @P19 = 0 THEN 0 ELSE @D19 / @P19 END, @D20 = CASE WHEN @P20 = 0 THEN 0 ELSE @D20 / @P20 END, @D21 = CASE WHEN @P21 = 0 THEN 0 ELSE @D21 / @P21 END, @D22 = CASE WHEN @P22 = 0 THEN 0 ELSE @D22 / @P22 END, @D23 = CASE WHEN @P23 = 0 THEN 0 ELSE @D23 / @P23 END, @D24 = CASE WHEN @P24 = 0 THEN 0 ELSE @D24 / @P24 END,
				@D25 = CASE WHEN @P25 = 0 THEN 0 ELSE @D25 / @P25 END, @D26 = CASE WHEN @P26 = 0 THEN 0 ELSE @D26 / @P26 END, @D27 = CASE WHEN @P27 = 0 THEN 0 ELSE @D27 / @P27 END, @D28 = CASE WHEN @P28 = 0 THEN 0 ELSE @D28 / @P28 END, @D29 = CASE WHEN @P29 = 0 THEN 0 ELSE @D29 / @P29 END, @D30 = CASE WHEN @P30 = 0 THEN 0 ELSE @D30 / @P30 END, @D31 = CASE WHEN @P31 = 0 THEN 0 ELSE @D31 / @P31 END, @D32 = CASE WHEN @P32 = 0 THEN 0 ELSE @D32 / @P32 END, @D33 = CASE WHEN @P33 = 0 THEN 0 ELSE @D33 / @P33 END, @D34 = CASE WHEN @P34 = 0 THEN 0 ELSE @D34 / @P34 END, @D35 = CASE WHEN @P35 = 0 THEN 0 ELSE @D35 / @P35 END, @D36 = CASE WHEN @P36 = 0 THEN 0 ELSE @D36 / @P36 END, @D37 = CASE WHEN @P37 = 0 THEN 0 ELSE @D37 / @P37 END, @D38 = CASE WHEN @P38 = 0 THEN 0 ELSE @D38 / @P38 END, @D39 = CASE WHEN @P39 = 0 THEN 0 ELSE @D39 / @P39 END, @D40 = CASE WHEN @P40 = 0 THEN 0 ELSE @D40 / @P40 END, @D41 = CASE WHEN @P41 = 0 THEN 0 ELSE @D41 / @P41 END, @D42 = CASE WHEN @P42 = 0 THEN 0 ELSE @D42 / @P42 END, @D43 = CASE WHEN @P43 = 0 THEN 0 ELSE @D43 / @P43 END, @D44 = CASE WHEN @P44 = 0 THEN 0 ELSE @D44 / @P44 END, @D45 = CASE WHEN @P45 = 0 THEN 0 ELSE @D45 / @P45 END, @D46 = CASE WHEN @P46 = 0 THEN 0 ELSE @D46 / @P46 END, @D47 = CASE WHEN @P47 = 0 THEN 0 ELSE @D47 / @P47 END, @D48 = CASE WHEN @P48 = 0 THEN 0 ELSE @D48 / @P48 END
			SELECT @XCONTA = 1, @QTDE_ES = 0, @QTDE_D = 0, @LOOP = 0
			WHILE @XCONTA <= @NUMERO_TAMANHOS
			BEGIN

				SELECT @QTDE = CASE @XCONTA
				WHEN 1  THEN @P1  WHEN 2  THEN @P2  WHEN 3  THEN @P3  WHEN 4  THEN @P4  WHEN 5  THEN @P5  WHEN 6  THEN @P6  WHEN 7  THEN @P7  WHEN 8  THEN @P8  WHEN 9  THEN @P9  WHEN 10 THEN @P10 WHEN 11 THEN @P11 WHEN 12 THEN @P12 WHEN 13 THEN @P13 WHEN 14 THEN @P14 WHEN 15 THEN @P15 WHEN 16 THEN @P16 WHEN 17 THEN @P17 WHEN 18 THEN @P18 WHEN 18 THEN @P19 WHEN 20 THEN @P20 WHEN 21 THEN @P21 WHEN 22 THEN @P22 WHEN 23 THEN @P23 WHEN 24 THEN @P24 
				WHEN 25 THEN @P25 WHEN 26 THEN @P26 WHEN 27 THEN @P27 WHEN 28 THEN @P28 WHEN 29 THEN @P29 WHEN 30 THEN @P30 WHEN 31 THEN @P31 WHEN 32 THEN @P32 WHEN 33 THEN @P33 WHEN 34 THEN @P34 WHEN 35 THEN @P35 WHEN 36 THEN @P36 WHEN 37 THEN @P37 WHEN 38 THEN @P38 WHEN 39 THEN @P39 WHEN 40 THEN @P40 WHEN 41 THEN @P41 WHEN 42 THEN @P42 WHEN 43 THEN @P43 WHEN 44 THEN @P44 WHEN 45 THEN @P45 WHEN 46 THEN @P46 WHEN 47 THEN @P47 WHEN 48 THEN @P48 END

				SELECT @QTDE_ES = CASE @XCONTA
				WHEN 1  THEN @D1  WHEN 2  THEN @D2  WHEN 3  THEN @D3  WHEN 4  THEN @D4  WHEN 5  THEN @D5  WHEN 6  THEN @D6  WHEN 7  THEN @D7  WHEN 8  THEN @D8  WHEN 9  THEN @D9  WHEN 10 THEN @D10 WHEN 11 THEN @D11 WHEN 12 THEN @D12 WHEN 13 THEN @D13 WHEN 14 THEN @D14 WHEN 15 THEN @D15 WHEN 16 THEN @D16 WHEN 17 THEN @D17 WHEN 18 THEN @D18 WHEN 18 THEN @D19 WHEN 20 THEN @D20 WHEN 21 THEN @D21 WHEN 22 THEN @D22 WHEN 23 THEN @D23 WHEN 24 THEN @D24 
				WHEN 25 THEN @D25 WHEN 26 THEN @D26 WHEN 27 THEN @D27 WHEN 28 THEN @D28 WHEN 29 THEN @D29 WHEN 30 THEN @D30 WHEN 31 THEN @D31 WHEN 32 THEN @D32 WHEN 33 THEN @D33 WHEN 34 THEN @D34 WHEN 35 THEN @D35 WHEN 36 THEN @D36 WHEN 37 THEN @D37 WHEN 38 THEN @D38 WHEN 39 THEN @D39 WHEN 40 THEN @D40 WHEN 41 THEN @D41 WHEN 42 THEN @D42 WHEN 43 THEN @D43 WHEN 44 THEN @D44 WHEN 45 THEN @D45 WHEN 46 THEN @D46 WHEN 47 THEN @D47 WHEN 48 THEN @D48 END
			
				IF (@QTDE_D > @QTDE_ES AND @QTDE_ES > 0) OR (@QTDE_ES = 0 AND @QTDE > 0) OR @XCONTA = 1 OR @LOOP = 0
					SELECT @QTDE_D = @QTDE_ES
					SELECT @XCONTA = @XCONTA + 1, @LOOP = @LOOP + CASE WHEN @QTDE > 0 THEN 1 ELSE 0 END
			END
			SELECT @QTDE_ES = @QTDE_D
		END
		ELSE
		BEGIN
			SELECT  @ES1  = @D1,  @ES2  = @D2,  @ES3  = @D3,  @ES4  = @D4,  @ES5  = @D5,  @ES6  = @D6,  @ES7  = @D7,  @ES8  = @D8,  @ES9  = @D9,  @ES10 = @D10, @ES11 = @D11, @ES12 = @D12, @ES13 = @D13, @ES14 = @D14, @ES15 = @D15, @ES16 = @D16, @ES17 = @D17, @ES18 = @D18, @ES19 = @D19, @ES20 = @D20, @ES21 = @D21, @ES22 = @D22, @ES23 = @D23, @ES24 = @D24,
				@ES25 = @D25, @ES26 = @D26, @ES27 = @D27, @ES28 = @D28, @ES29 = @D29, @ES30 = @D20, @ES31 = @D31, @ES32 = @D32, @ES33 = @D33, @ES34 = @D34, @ES35 = @D35, @ES36 = @D36, @ES37 = @D37, @ES38 = @D38, @ES39 = @D39, @ES40 = @D40, @ES41 = @D41, @ES42 = @D42, @ES43 = @D43, @ES44 = @D44, @ES45 = @D45, @ES46 = @D46, @ES47 = @D47, @ES48 = @D48
			SELECT @QTDE_ES = @ES1 + @ES2 + @ES3 + @ES4 + @ES5 + @ES6 + @ES7 + @ES8 + @ES9 + @ES10 + @ES11 + @ES12 + @ES13 + @ES14 + @ES15 + @ES16 + @ES17 + @ES18 + @ES19 + @ES20 + @ES21 + @ES22 + @ES23 + @ES24 +  @ES25 + @ES26 + @ES27 + @ES28 + @ES29 + @ES30 + @ES31 + @ES32 + @ES33 + @ES34 + @ES35 + @ES36 + @ES37 + @ES38 + @ES39 + @ES40 + @ES41 + @ES42 + @ES43 + @ES44 + @ES45 + @ES46 + @ES47 + @ES48			
		END	
		/* SE ESTOQUE DISPONIVEL = 0 */
		IF @QTDE_ES = 0
		BEGIN		
			SELECT @STATUS = 'F'
			UPDATE ROMANEIOS_PRODUTO SET STATUS = @STATUS, FILTROS_PROCESSO = 'PROCESSO AUTOMATICO DE DISTRIBUIÇÃO.' WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO
			FETCH NEXT FROM CURSOR_PRODUTOS_50_new INTO @PRODUTO, @ORDEM_PRODUCAO, @COR_PRODUTO, @PROGRAMACAO, @NUMERO_TAMANHOS
			CONTINUE
		END

		DECLARE CURSOR_ITENS SCROLL CURSOR FOR 
		SELECT DISTINCT ROMANEIOS_PRODUTO.PRODUTO, ROMANEIOS_PRODUTO.COR_PRODUTO, CLIENTES_ATACADO.CLIENTE_ATACADO, PORCENTAGEM_QTDE, 
		PRODUTOS.PONTEIRO_PRECO_TAM, PRODUTOS.VARIA_PRECO_TAM, PRODUTOS.VARIA_PRECO_COR, CLIENTES_ATACADO.TRANSP_REDESPACHO, ISNULL(CLIENTES_ATACADO.TRANSPORTADORA, @TRANSPORTADORA) AS TRANSPORTADORA_CLIENTE 
		FROM ROMANEIOS_PRODUTO  JOIN PRODUTOS ON ROMANEIOS_PRODUTO.PRODUTO = PRODUTOS.PRODUTO 
					JOIN PRODUTO_CORES ON ROMANEIOS_PRODUTO.PRODUTO = PRODUTO_CORES.PRODUTO AND ROMANEIOS_PRODUTO.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO 
					JOIN GIV_DISTRIBUICAO_PORCENTAGEM ON COD_PLANEJAMENTO = @COD_PLANEJAMENTO AND COD_AGRUPAMENTO = @COD_AGRUPAMENTO 
					JOIN GIV_AGRUPAMENTO_PRODUTO ON GIV_DISTRIBUICAO_PORCENTAGEM.COD_AGRUPAMENTO = GIV_AGRUPAMENTO_PRODUTO.COD_AGRUPAMENTO AND GIV_DISTRIBUICAO_PORCENTAGEM.ID_AGRUPAMENTO = GIV_AGRUPAMENTO_PRODUTO.ID_AGRUPAMENTO AND ROMANEIOS_PRODUTO.PRODUTO = GIV_AGRUPAMENTO_PRODUTO.PRODUTO 
					JOIN GIV_AGRUPAMENTO ON GIV_AGRUPAMENTO_PRODUTO.COD_AGRUPAMENTO = GIV_AGRUPAMENTO.COD_AGRUPAMENTO AND GIV_AGRUPAMENTO_PRODUTO.ID_AGRUPAMENTO = GIV_AGRUPAMENTO.ID_AGRUPAMENTO AND GIV_AGRUPAMENTO.AGRUPAMENTO_DISTRIBUICAO = 1  					
					JOIN CLIENTES_ATACADO ON GIV_DISTRIBUICAO_PORCENTAGEM.COD_CLIFOR = CLIENTES_ATACADO.COD_CLIENTE
		WHERE ROMANEIOS_PRODUTO.ROMANEIO = @ROMANEIO AND ROMANEIOS_PRODUTO.FILIAL = @FILIAL AND ROMANEIOS_PRODUTO.PRODUTO = @PRODUTO AND ROMANEIOS_PRODUTO.COR_PRODUTO = @COR_PRODUTO
		AND (@UTILIZAR_GRADE_MINIMA = 1 OR GIV_DISTRIBUICAO_PORCENTAGEM.PORCENTAGEM_QTDE > 0)
		ORDER BY PORCENTAGEM_QTDE DESC

		OPEN CURSOR_ITENS
		FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE
		IF @@FETCH_STATUS <> 0
		BEGIN
			CLOSE CURSOR_ITENS
			DEALLOCATE CURSOR_ITENS
			SELECT @STATUS = 'D'
			UPDATE ROMANEIOS_PRODUTO SET STATUS = @STATUS, FILTROS_PROCESSO = 'PROCESSO AUTOMATICO DE DISTRIBUIÇÃO. ' WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO			
			FETCH NEXT FROM CURSOR_PRODUTOS_50_new INTO @PRODUTO, @ORDEM_PRODUCAO, @COR_PRODUTO, @PROGRAMACAO, @NUMERO_TAMANHOS
			CONTINUE
		END

		/*AJUSTANDO GRADE MÍNIMA*/
		IF @UTILIZAR_GRADE_MINIMA = 1
		BEGIN
			FETCH LAST FROM CURSOR_ITENS    INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE
			SELECT @QTDE_FILIAIS = @@CURSOR_ROWS
			FETCH FIRST  FROM CURSOR_ITENS  INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE
	
			IF @PROCESSA_PACK = 1
			BEGIN				

				SELECT @GRADE_MINIMA = 1 --UM PACK INDICA A GRADE MÍNIMA
				SELECT 	@QTDE_ES = CASE WHEN (@QTDE_ES < (@QTDE_FILIAIS*@GRADE_MINIMA)) THEN 0 ELSE (@QTDE_ES - @QTDE_FILIAIS*@GRADE_MINIMA) END

			END
			ELSE
			BEGIN
				
				SELECT 	@ES1 = CASE WHEN (@ES1 < (@QTDE_FILIAIS*@GM1)) THEN 0 ELSE (@ES1 - @QTDE_FILIAIS*@GM1) END, 
				@ES2 = CASE WHEN (@ES2 < (@QTDE_FILIAIS*@GM2)) THEN 0 ELSE (@ES2 - @QTDE_FILIAIS*@GM2) END, 
				@ES3 = CASE WHEN (@ES3 < (@QTDE_FILIAIS*@GM3)) THEN 0 ELSE (@ES3 - @QTDE_FILIAIS*@GM3) END, 
				@ES4 = CASE WHEN (@ES4 < (@QTDE_FILIAIS*@GM4)) THEN 0 ELSE (@ES4 - @QTDE_FILIAIS*@GM4) END, 
				@ES5 = CASE WHEN (@ES5 < (@QTDE_FILIAIS*@GM5)) THEN 0 ELSE (@ES5 - @QTDE_FILIAIS*@GM5) END, 
				@ES6 = CASE WHEN (@ES6 < (@QTDE_FILIAIS*@GM6)) THEN 0 ELSE (@ES6 - @QTDE_FILIAIS*@GM6) END, 
				@ES7 = CASE WHEN (@ES7 < (@QTDE_FILIAIS*@GM7)) THEN 0 ELSE (@ES7 - @QTDE_FILIAIS*@GM7) END, 
				@ES8 = CASE WHEN (@ES8 < (@QTDE_FILIAIS*@GM8)) THEN 0 ELSE (@ES8 - @QTDE_FILIAIS*@GM8) END, 
				@ES9 = CASE WHEN (@ES9 < (@QTDE_FILIAIS*@GM9)) THEN 0 ELSE (@ES9 - @QTDE_FILIAIS*@GM9) END, 
				@ES10 = CASE WHEN (@ES10 < (@QTDE_FILIAIS*@GM10)) THEN 0 ELSE (@ES10 - @QTDE_FILIAIS*@GM10) END, 
				@ES11 = CASE WHEN (@ES11 < (@QTDE_FILIAIS*@GM11)) THEN 0 ELSE (@ES11 - @QTDE_FILIAIS*@GM11) END, 
				@ES12 = CASE WHEN (@ES12 < (@QTDE_FILIAIS*@GM12)) THEN 0 ELSE (@ES12 - @QTDE_FILIAIS*@GM12) END, 
				@ES13 = CASE WHEN (@ES13 < (@QTDE_FILIAIS*@GM13)) THEN 0 ELSE (@ES13 - @QTDE_FILIAIS*@GM13) END, 
				@ES14 = CASE WHEN (@ES14 < (@QTDE_FILIAIS*@GM14)) THEN 0 ELSE (@ES14 - @QTDE_FILIAIS*@GM14) END, 
				@ES15 = CASE WHEN (@ES15 < (@QTDE_FILIAIS*@GM15)) THEN 0 ELSE (@ES15 - @QTDE_FILIAIS*@GM15) END, 
				@ES16 = CASE WHEN (@ES16 < (@QTDE_FILIAIS*@GM16)) THEN 0 ELSE (@ES16 - @QTDE_FILIAIS*@GM16) END, 
				@ES17 = CASE WHEN (@ES17 < (@QTDE_FILIAIS*@GM17)) THEN 0 ELSE (@ES17 - @QTDE_FILIAIS*@GM17) END, 
				@ES18 = CASE WHEN (@ES18 < (@QTDE_FILIAIS*@GM18)) THEN 0 ELSE (@ES18 - @QTDE_FILIAIS*@GM18) END, 
				@ES19 = CASE WHEN (@ES19 < (@QTDE_FILIAIS*@GM19)) THEN 0 ELSE (@ES19 - @QTDE_FILIAIS*@GM19) END, 
				@ES20 = CASE WHEN (@ES20 < (@QTDE_FILIAIS*@GM20)) THEN 0 ELSE (@ES20 - @QTDE_FILIAIS*@GM20) END, 
				@ES21 = CASE WHEN (@ES21 < (@QTDE_FILIAIS*@GM21)) THEN 0 ELSE (@ES21 - @QTDE_FILIAIS*@GM21) END, 
				@ES22 = CASE WHEN (@ES22 < (@QTDE_FILIAIS*@GM22)) THEN 0 ELSE (@ES22 - @QTDE_FILIAIS*@GM22) END, 
				@ES23 = CASE WHEN (@ES23 < (@QTDE_FILIAIS*@GM23)) THEN 0 ELSE (@ES23 - @QTDE_FILIAIS*@GM23) END, 
				@ES24 = CASE WHEN (@ES24 < (@QTDE_FILIAIS*@GM24)) THEN 0 ELSE (@ES24 - @QTDE_FILIAIS*@GM24) END, 
				@ES25 = CASE WHEN (@ES25 < (@QTDE_FILIAIS*@GM25)) THEN 0 ELSE (@ES25 - @QTDE_FILIAIS*@GM25) END, 
				@ES26 = CASE WHEN (@ES26 < (@QTDE_FILIAIS*@GM26)) THEN 0 ELSE (@ES26 - @QTDE_FILIAIS*@GM26) END, 
				@ES27 = CASE WHEN (@ES27 < (@QTDE_FILIAIS*@GM27)) THEN 0 ELSE (@ES27 - @QTDE_FILIAIS*@GM27) END, 
				@ES28 = CASE WHEN (@ES28 < (@QTDE_FILIAIS*@GM28)) THEN 0 ELSE (@ES28 - @QTDE_FILIAIS*@GM28) END, 
				@ES29 = CASE WHEN (@ES29 < (@QTDE_FILIAIS*@GM29)) THEN 0 ELSE (@ES29 - @QTDE_FILIAIS*@GM29) END, 
				@ES30 = CASE WHEN (@ES30 < (@QTDE_FILIAIS*@GM30)) THEN 0 ELSE (@ES30 - @QTDE_FILIAIS*@GM30) END, 
				@ES31 = CASE WHEN (@ES31 < (@QTDE_FILIAIS*@GM31)) THEN 0 ELSE (@ES31 - @QTDE_FILIAIS*@GM31) END, 
				@ES32 = CASE WHEN (@ES32 < (@QTDE_FILIAIS*@GM32)) THEN 0 ELSE (@ES32 - @QTDE_FILIAIS*@GM32) END, 
				@ES33 = CASE WHEN (@ES33 < (@QTDE_FILIAIS*@GM33)) THEN 0 ELSE (@ES33 - @QTDE_FILIAIS*@GM33) END, 
				@ES34 = CASE WHEN (@ES34 < (@QTDE_FILIAIS*@GM34)) THEN 0 ELSE (@ES34 - @QTDE_FILIAIS*@GM34) END, 
				@ES35 = CASE WHEN (@ES35 < (@QTDE_FILIAIS*@GM35)) THEN 0 ELSE (@ES35 - @QTDE_FILIAIS*@GM35) END, 
				@ES36 = CASE WHEN (@ES36 < (@QTDE_FILIAIS*@GM36)) THEN 0 ELSE (@ES36 - @QTDE_FILIAIS*@GM36) END, 
				@ES37 = CASE WHEN (@ES37 < (@QTDE_FILIAIS*@GM37)) THEN 0 ELSE (@ES37 - @QTDE_FILIAIS*@GM37) END, 
				@ES38 = CASE WHEN (@ES38 < (@QTDE_FILIAIS*@GM38)) THEN 0 ELSE (@ES38 - @QTDE_FILIAIS*@GM38) END, 
				@ES39 = CASE WHEN (@ES39 < (@QTDE_FILIAIS*@GM39)) THEN 0 ELSE (@ES39 - @QTDE_FILIAIS*@GM39) END, 
				@ES40 = CASE WHEN (@ES40 < (@QTDE_FILIAIS*@GM40)) THEN 0 ELSE (@ES40 - @QTDE_FILIAIS*@GM40) END, 
				@ES41 = CASE WHEN (@ES41 < (@QTDE_FILIAIS*@GM41)) THEN 0 ELSE (@ES41 - @QTDE_FILIAIS*@GM41) END, 
				@ES42 = CASE WHEN (@ES42 < (@QTDE_FILIAIS*@GM42)) THEN 0 ELSE (@ES42 - @QTDE_FILIAIS*@GM42) END, 
				@ES43 = CASE WHEN (@ES43 < (@QTDE_FILIAIS*@GM43)) THEN 0 ELSE (@ES43 - @QTDE_FILIAIS*@GM43) END, 
				@ES44 = CASE WHEN (@ES44 < (@QTDE_FILIAIS*@GM44)) THEN 0 ELSE (@ES44 - @QTDE_FILIAIS*@GM44) END, 
				@ES45 = CASE WHEN (@ES45 < (@QTDE_FILIAIS*@GM45)) THEN 0 ELSE (@ES45 - @QTDE_FILIAIS*@GM45) END, 
				@ES46 = CASE WHEN (@ES46 < (@QTDE_FILIAIS*@GM46)) THEN 0 ELSE (@ES46 - @QTDE_FILIAIS*@GM46) END, 
				@ES47 = CASE WHEN (@ES47 < (@QTDE_FILIAIS*@GM47)) THEN 0 ELSE (@ES47 - @QTDE_FILIAIS*@GM47) END, 
				@ES48 = CASE WHEN (@ES48 < (@QTDE_FILIAIS*@GM48)) THEN 0 ELSE (@ES48 - @QTDE_FILIAIS*@GM48) END
		
				SELECT @QTDE_ES = @ES1+ @ES2+ @ES3+ @ES4+ @ES5+ @ES6+ @ES7+ @ES8+ @ES9+ @ES10+ @ES11+ @ES12+ @ES13+ 
				@ES14+ @ES15+ @ES16+ @ES17+ @ES18+ @ES19+ @ES20+ @ES21+ @ES22+ @ES23+ @ES24+ @ES25+ @ES26+ @ES27+ 
				@ES28+ @ES29+ @ES30+ @ES31+ @ES32+ @ES33+ @ES34+ @ES35+ @ES36+ @ES37+ @ES38+ @ES39+ @ES40+ @ES41+ 
				@ES42+ @ES43+ @ES44+ @ES45+ @ES46+ @ES47+ @ES48	

			END
		END
		/*------------*/
		


		WHILE @@FETCH_STATUS = 0
		BEGIN
			

			IF @FILIALI IS NOT NULL
			BEGIN
				IF @PROCESSA_PACK = 1
				BEGIN

					SELECT 	@QTDE_P = ROUND((@QTDE_ES * @PORCENTAGEMI) / 100, 0)
					--AJUSTANDO GRADE MÍNIMA
					IF @UTILIZAR_GRADE_MINIMA = 1
						SELECT  @QTDE_P = @QTDE_P + @GRADE_MINIMA
					SELECT 	@QTDE_P = CASE WHEN @QTDE_P > @QTDE_D THEN @QTDE_D ELSE @QTDE_P END
					SELECT 	@Q1  = @QTDE_P * @P1,  @Q2  = @QTDE_P * @P2,  @Q3  = @QTDE_P * @P3,  @Q4  = @QTDE_P * @P4,  @Q5  = @QTDE_P * @P5,  @Q6  = @QTDE_P * @P6,  @Q7  = @QTDE_P * @P7,  @Q8  = @QTDE_P * @P8,  @Q9  = @QTDE_P * @P9,  @Q10 = @QTDE_P * @P10, @Q11 = @QTDE_P * @P11, @Q12 = @QTDE_P * @P12, @Q13 = @QTDE_P * @P13, @Q14 = @QTDE_P * @P14, @Q15 = @QTDE_P * @P15, @Q16 = @QTDE_P * @P16, @Q17 = @QTDE_P * @P17, @Q18 = @QTDE_P * @P18, @Q19 = @QTDE_P * @P19, @Q20 = @QTDE_P * @P20, @Q21 = @QTDE_P * @P21, @Q22 = @QTDE_P * @P22, @Q23 = @QTDE_P * @P23, @Q24 = @QTDE_P * @P24,
						@Q25 = @QTDE_P * @P25, @Q26 = @QTDE_P * @P26, @Q27 = @QTDE_P * @P27, @Q28 = @QTDE_P * @P28, @Q29 = @QTDE_P * @P29, @Q30 = @QTDE_P * @P30, @Q31 = @QTDE_P * @P31, @Q32 = @QTDE_P * @P32, @Q33 = @QTDE_P * @P33, @Q34 = @QTDE_P * @P34, @Q35 = @QTDE_P * @P35, @Q36 = @QTDE_P * @P36, @Q37 = @QTDE_P * @P37, @Q38 = @QTDE_P * @P38, @Q39 = @QTDE_P * @P39, @Q40 = @QTDE_P * @P40, @Q41 = @QTDE_P * @P41, @Q42 = @QTDE_P * @P42, @Q43 = @QTDE_P * @P43, @Q44 = @QTDE_P * @P44, @Q45 = @QTDE_P * @P45, @Q46 = @QTDE_P * @P46, @Q47 = @QTDE_P * @P47, @Q48 = @QTDE_P * @P48
					

				END
				ELSE
				BEGIN								
					SELECT @QTDE_P = 0
					SELECT @QTDE_D = @D1 + @D2 + @D3 + @D4 + @D5 + @D6 + @D7 + @D8 + @D9 + @D10 + @D11 + @D12 + @D13 + @D14 + @D15 + @D16 + @D17 + @D18 + @D19 + @D20 + @D21 + @D22 + @D23 + @D24 +  @D25 + @D26 + @D27 + @D28 + @D29 + @D30 + @D31 + @D32 + @D33 + @D34 + @D35 + @D36 + @D37 + @D38 + @D39 + @D40 + @D41 + @D42 + @D43 + @D44 + @D45 + @D46 + @D47 + @D48			
					SELECT  @Q1  = ROUND((@ES1  * @PORCENTAGEMI) / 100, 0), @Q2  = ROUND((@ES2  * @PORCENTAGEMI) / 100, 0), @Q3  = ROUND((@ES3  * @PORCENTAGEMI) / 100, 0), @Q4  = ROUND((@ES4  * @PORCENTAGEMI) / 100, 0), @Q5  = ROUND((@ES5  * @PORCENTAGEMI) / 100, 0), @Q6  = ROUND((@ES6  * @PORCENTAGEMI) / 100, 0), @Q7  = ROUND((@ES7  * @PORCENTAGEMI) / 100, 0), @Q8  = ROUND((@ES8  * @PORCENTAGEMI) / 100, 0), @Q9  = ROUND((@ES9  * @PORCENTAGEMI) / 100, 0), @Q10 = ROUND((@ES10 * @PORCENTAGEMI) / 100, 0), @Q11 = ROUND((@ES11 * @PORCENTAGEMI) / 100, 0), @Q12 = ROUND((@ES12 * @PORCENTAGEMI) / 100, 0), @Q13 = ROUND((@ES13 * @PORCENTAGEMI) / 100, 0), @Q14 = ROUND((@ES14 * @PORCENTAGEMI) / 100, 0), @Q15 = ROUND((@ES15 * @PORCENTAGEMI) / 100, 0), @Q16 = ROUND((@ES16 * @PORCENTAGEMI) / 100, 0), @Q17 = ROUND((@ES17 * @PORCENTAGEMI) / 100, 0), @Q18 = ROUND((@ES18 * @PORCENTAGEMI) / 100, 0), @Q19 = ROUND((@ES19 * @PORCENTAGEMI) / 100, 0), @Q20 = ROUND((@ES20 * @PORCENTAGEMI) / 100, 0), @Q21 = ROUND((@ES21 * @PORCENTAGEMI) / 100, 0), @Q22 = ROUND((@ES22 * @PORCENTAGEMI) / 100, 0), @Q23 = ROUND((@ES23 * @PORCENTAGEMI) / 100, 0), @Q24 = ROUND((@ES24 * @PORCENTAGEMI) / 100, 0),
						@Q25 = ROUND((@ES25 * @PORCENTAGEMI) / 100, 0), @Q26 = ROUND((@ES26 * @PORCENTAGEMI) / 100, 0), @Q27 = ROUND((@ES27 * @PORCENTAGEMI) / 100, 0), @Q28 = ROUND((@ES28 * @PORCENTAGEMI) / 100, 0), @Q29 = ROUND((@ES29 * @PORCENTAGEMI) / 100, 0), @Q30 = ROUND((@ES30 * @PORCENTAGEMI) / 100, 0), @Q31 = ROUND((@ES31 * @PORCENTAGEMI) / 100, 0), @Q32 = ROUND((@ES32 * @PORCENTAGEMI) / 100, 0), @Q33 = ROUND((@ES33 * @PORCENTAGEMI) / 100, 0), @Q34 = ROUND((@ES34 * @PORCENTAGEMI) / 100, 0), @Q35 = ROUND((@ES35 * @PORCENTAGEMI) / 100, 0), @Q36 = ROUND((@ES36 * @PORCENTAGEMI) / 100, 0), @Q37 = ROUND((@ES37 * @PORCENTAGEMI) / 100, 0), @Q38 = ROUND((@ES38 * @PORCENTAGEMI) / 100, 0), @Q39 = ROUND((@ES39 * @PORCENTAGEMI) / 100, 0), @Q40 = ROUND((@ES40 * @PORCENTAGEMI) / 100, 0), @Q41 = ROUND((@ES41 * @PORCENTAGEMI) / 100, 0), @Q42 = ROUND((@ES42 * @PORCENTAGEMI) / 100, 0), @Q43 = ROUND((@ES43 * @PORCENTAGEMI) / 100, 0), @Q44 = ROUND((@ES44 * @PORCENTAGEMI) / 100, 0), @Q45 = ROUND((@ES45 * @PORCENTAGEMI) / 100, 0), @Q46 = ROUND((@ES46 * @PORCENTAGEMI) / 100, 0), @Q47 = ROUND((@ES47 * @PORCENTAGEMI) / 100, 0), @Q48 = ROUND((@ES48 * @PORCENTAGEMI) / 100, 0)

					--AJUSTANDO GRADE MÍNIMA
					IF @UTILIZAR_GRADE_MINIMA = 1
						SELECT 	@Q1 = (@Q1 + @GM1),@Q2 = (@Q2 + @GM2),@Q3 = (@Q3 + @GM3),@Q4 = (@Q4 + @GM4),
							@Q5 = (@Q5 + @GM5),@Q6 = (@Q6 + @GM6),@Q7 = (@Q7 + @GM7),@Q8 = (@Q8 + @GM8),
							@Q9 = (@Q9 + @GM9),@Q10 = (@Q10 + @GM10),@Q11 = (@Q11 + @GM11),@Q12 = (@Q12 + @GM12),
							@Q13 = (@Q13 + @GM13),@Q14 = (@Q14 + @GM14),@Q15 = (@Q15 + @GM15),@Q16 = (@Q16 + @GM16),
							@Q17 = (@Q17 + @GM17),@Q18 = (@Q18 + @GM18),@Q19 = (@Q19 + @GM19),@Q20 = (@Q20 + @GM20),
							@Q21 = (@Q21 + @GM21),@Q22 = (@Q22 + @GM22),@Q23 = (@Q23 + @GM23),@Q24 = (@Q24 + @GM24),
							@Q25 = (@Q25 + @GM25),@Q26 = (@Q26 + @GM26),@Q27 = (@Q27 + @GM27),@Q28 = (@Q28 + @GM28),
							@Q29 = (@Q29 + @GM29),@Q30 = (@Q30 + @GM30),@Q31 = (@Q31 + @GM31),@Q32 = (@Q32 + @GM32),
							@Q33 = (@Q33 + @GM33),@Q34 = (@Q34 + @GM34),@Q35 = (@Q35 + @GM35),@Q36 = (@Q36 + @GM36),
							@Q37 = (@Q37 + @GM37),@Q38 = (@Q38 + @GM38),@Q39 = (@Q39 + @GM39),@Q40 = (@Q40 + @GM40),
							@Q41 = (@Q41 + @GM41),@Q42 = (@Q42 + @GM42),@Q43 = (@Q43 + @GM43),@Q44 = (@Q44 + @GM44),
							@Q45 = (@Q45 + @GM45),@Q46 = (@Q46 + @GM46),@Q47 = (@Q47 + @GM47),@Q48 = (@Q48 + @GM48)

					SELECT 	@Q1  = CASE WHEN @D1  > @Q1  THEN @Q1  ELSE @D1  END, @Q2  = CASE WHEN @D2  > @Q2  THEN @Q2  ELSE @D2  END, @Q3  = CASE WHEN @D3  > @Q3  THEN @Q3  ELSE @D3  END, @Q4  = CASE WHEN @D4  > @Q4  THEN @Q4  ELSE @D4  END,
						@Q5  = CASE WHEN @D5  > @Q5  THEN @Q5  ELSE @D5  END, @Q6  = CASE WHEN @D6  > @Q6  THEN @Q6  ELSE @D6  END, @Q7  = CASE WHEN @D7  > @Q7  THEN @Q7  ELSE @D7  END, @Q8  = CASE WHEN @D8  > @Q8  THEN @Q8  ELSE @D8  END,
						@Q9  = CASE WHEN @D9  > @Q9  THEN @Q9  ELSE @D9  END, @Q10 = CASE WHEN @D10 > @Q10 THEN @Q10 ELSE @D10 END, @Q11 = CASE WHEN @D11 > @Q11 THEN @Q11 ELSE @D11 END, @Q12 = CASE WHEN @D12 > @Q12 THEN @Q12 ELSE @D12 END,
						@Q13 = CASE WHEN @D13 > @Q13 THEN @Q13 ELSE @D13 END, @Q14 = CASE WHEN @D14 > @Q14 THEN @Q14 ELSE @D14 END, @Q15 = CASE WHEN @D15 > @Q15 THEN @Q15 ELSE @D15 END, @Q16 = CASE WHEN @D16 > @Q16 THEN @Q16 ELSE @D16 END,
						@Q17 = CASE WHEN @D17 > @Q17 THEN @Q17 ELSE @D17 END, @Q18 = CASE WHEN @D18 > @Q18 THEN @Q18 ELSE @D18 END, @Q19 = CASE WHEN @D19 > @Q19 THEN @Q19 ELSE @D19 END, @Q20 = CASE WHEN @D20 > @Q20 THEN @Q20 ELSE @D20 END,
						@Q21 = CASE WHEN @D21 > @Q21 THEN @Q21 ELSE @D21 END, @Q22 = CASE WHEN @D22 > @Q22 THEN @Q22 ELSE @D22 END, @Q23 = CASE WHEN @D23 > @Q23 THEN @Q23 ELSE @D23 END, @Q24 = CASE WHEN @D24 > @Q24 THEN @Q24 ELSE @D24 END,
						@Q25 = CASE WHEN @D25 > @Q25 THEN @Q25 ELSE @D25 END, @Q26 = CASE WHEN @D26 > @Q26 THEN @Q26 ELSE @D26 END, @Q27 = CASE WHEN @D27 > @Q27 THEN @Q27 ELSE @D27 END, @Q28 = CASE WHEN @D28 > @Q28 THEN @Q28 ELSE @D28 END,
						@Q29 = CASE WHEN @D29 > @Q29 THEN @Q29 ELSE @D29 END, @Q30 = CASE WHEN @D30 > @Q30 THEN @Q30 ELSE @D30 END, @Q31 = CASE WHEN @D31 > @Q31 THEN @Q31 ELSE @D31 END, @Q32 = CASE WHEN @D32 > @Q32 THEN @Q32 ELSE @D32 END,
						@Q33 = CASE WHEN @D33 > @Q33 THEN @Q33 ELSE @D33 END, @Q34 = CASE WHEN @D34 > @Q34 THEN @Q34 ELSE @D34 END, @Q35 = CASE WHEN @D35 > @Q35 THEN @Q35 ELSE @D35 END, @Q36 = CASE WHEN @D36 > @Q36 THEN @Q36 ELSE @D36 END,
						@Q37 = CASE WHEN @D37 > @Q37 THEN @Q37 ELSE @D37 END, @Q38 = CASE WHEN @D38 > @Q38 THEN @Q38 ELSE @D38 END, @Q39 = CASE WHEN @D39 > @Q39 THEN @Q39 ELSE @D39 END, @Q40 = CASE WHEN @D40 > @Q40 THEN @Q40 ELSE @D40 END,
						@Q41 = CASE WHEN @D41 > @Q41 THEN @Q41 ELSE @D41 END, @Q42 = CASE WHEN @D42 > @Q42 THEN @Q42 ELSE @D42 END, @Q43 = CASE WHEN @D43 > @Q43 THEN @Q43 ELSE @D43 END, @Q44 = CASE WHEN @D44 > @Q44 THEN @Q44 ELSE @D44 END,
						@Q45 = CASE WHEN @D45 > @Q45 THEN @Q45 ELSE @D45 END, @Q46 = CASE WHEN @D46 > @Q46 THEN @Q46 ELSE @D46 END, @Q47 = CASE WHEN @D47 > @Q47 THEN @Q47 ELSE @D47 END, @Q48 = CASE WHEN @D48 > @Q48 THEN @Q48 ELSE @D48 END
				END
				SELECT @QTDE   = @Q1 + @Q2 + @Q3 + @Q4 + @Q5 + @Q6 + @Q7 + @Q8 + @Q9 + @Q10 + @Q11 + @Q12 + @Q13 + @Q14 + @Q15 + @Q16 + @Q17 + @Q18 + @Q19 + @Q20 + @Q21 + @Q22 + @Q23 + @Q24 +  @Q25 + @Q26 + @Q27 + @Q28 + @Q29 + @Q30 + @Q31 + @Q32 + @Q33 + @Q34 + @Q35 + @Q36 + @Q37 + @Q38 + @Q39 + @Q40 + @Q41 + @Q42 + @Q43 + @Q44 + @Q45 + @Q46 + @Q47 + @Q48			
				SELECT @VALOR  = 0, @PEDIDO = NULL
				/* VERIFICA SE UTILIZA TABELA DE PRECO DO CLIENTE OU DO PARAMETRO P/ DISTRIBUICAO */
				IF @TAB_PRECO_CLIENTE = 1
				BEGIN						
					SELECT @TABELA = CODIGO_TAB_PRECO FROM CLIENTES_ATACADO WHERE CLIENTE_ATACADO = @FILIALI
					IF ISNULL(@TABELA, '') = ''
						SELECT @TABELA = @TAB_PRECO
				END
				ELSE
					SELECT @TABELA = @TAB_PRECO

				/* VERIFICA SE UTILIZA CONDIÇÃO DE PAGAMENTO DO CLIENTE OU DO PARAMETRO P/ DISTRIBUICAO */
				IF @COND_PGTO_CLIENTE = 1
				BEGIN
					SELECT @COND_PARAM = @COND_PGTO		
					SELECT @COND_PGTO = CONDICAO_PGTO FROM CLIENTES_ATACADO WHERE CLIENTE_ATACADO = @FILIALI
					IF ISNULL(@COND_PGTO, '') = ''
						SELECT @COND_PGTO = @COND_PARAM
					ELSE
						SELECT 	@DESCONTO_COND_PGTO = CASE WHEN DESCONTO_FATURAMENTO = 0 THEN ISNULL(DESCONTO, 0) ELSE 0 END,
							@ENCARGO = CASE WHEN ENCARGO_FATURAMENTO = 0 THEN ISNULL(ENCARGO, 0) ELSE 0 END,
							@DESCONTO_ITEM = CASE WHEN DESCONTO_ITEM_FATURAMENTO = 0 THEN ISNULL(DESCONTO_ITEM, 0) ELSE 0 END,
							@INCIDE_SOBRE_PRECO = ISNULL(INCIDE_SOBRE_PRECO, 0)
							FROM COND_ATAC_PGTOS WHERE CONDICAO_PGTO = @COND_PGTO

				END
				-------

				SELECT @PEDIDO = PEDIDO FROM VENDAS WHERE ROMANEIO = @ROMANEIO AND CLIENTE_ATACADO = @FILIALI
				IF @PEDIDO IS NULL OR @@ROWCOUNT = 0
				BEGIN
					IF @MANTER_ITEM_ZERADO = 0 AND @QTDE = 0
					BEGIN
						FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE
						CONTINUE
					END
					EXEC LX_SEQUENCIAL 'VENDAS.PEDIDO', NULL, @PEDIDO OUTPUT  
					INSERT INTO VENDAS (PEDIDO,  ROMANEIO,  COLECAO,  CODIGO_TAB_PRECO, TIPO, CONDICAO_PGTO, FILIAL, CLIENTE_ATACADO, NOME_CLIFOR_ENTREGA, TRANSPORTADORA, MOEDA, REPRESENTANTE, GERENTE, COMISSAO, COMISSAO_GERENTE, PORCENTAGEM_ACERTO, EMISSAO, CADASTRAMENTO, TOT_QTDE_ORIGINAL, TOT_QTDE_ENTREGAR, TOT_VALOR_ORIGINAL, TOT_VALOR_ENTREGAR, DESCONTO, ENCARGO, VALOR_IPI, TABELA_FILHA, OBS, APROVACAO, DESCONTO_SOBRE_1, DESCONTO_SOBRE_2, DESCONTO_SOBRE_3, DESCONTO_SOBRE_4, PORC_DESCONTO_DIGITADO, PORC_DESCONTO_COND_PGTO, PORC_ENCARGO, DESCONTO_COND_PGTO, PORC_DESCONTO, ACEITA_PECAS_PEQUENAS, ACEITA_PECAS_COM_CORTE, INDICADOR_VENDA, FILIAL_DIGITACAO  , TIPO_CAIXA, TIPO_FRETE, ENTREGA_CIF, TRANSP_REDESPACHO)						     
							VALUES(@PEDIDO, @ROMANEIO, @COLECAO, @TABELA, @TIPO_VENDA, @COND_PGTO, @FILIAL, @FILIALI, @FILIALI, CASE WHEN @UITILIZA_TRANSP_CLIENTE=1 THEN @TRANSPORTADORA_CLIENTE ELSE @TRANSPORTADORA END, @MOEDA, @REPRESENTANTE, @GERENTE, @COMISSAO, @COMISSAO_GERENTE, @PORC_ACERTO, CONVERT(VARCHAR(8), GETDATE(), 112), CONVERT(VARCHAR(8), GETDATE(), 112), 0, 0, 0, 0, 0, 0, 0, 'VENDAS_PRODUTO', 'PEDIDO GERADO PELO PROCESSO DE GERACAO DE DISTRIBUICAO. ROMANEIO NO. ' + @ROMANEIO, 'E', 0, 0, 0, 0, 1, @DESCONTO_COND_PGTO, @ENCARGO, 0, 0, 100, 100, 'D', @FILIAL, @TIPO_CAIXA, @TIPO_FRETE, @ENTREGA_CIF, CASE WHEN @UITILIZA_TRANSP_CLIENTE=1 THEN @TRANSP_REDESPACHO ELSE @TRANSPORTADORA END)
					IF @@ROWCOUNT = 0 
					BEGIN	
						SELECT  @ERRNO  = 30002,
							@ERRMSG = 'PROBLEMA NO INSERT EM VENDAS !!!'
						GOTO ERROR
					END
				END
				ELSE
				BEGIN
					SELECT @XCONTA = COUNT(*) FROM VENDAS WHERE PEDIDO = @PEDIDO AND (PORC_DESCONTO_COND_PGTO <> @DESCONTO_COND_PGTO OR PORC_ENCARGO <> @ENCARGO OR CONDICAO_PGTO <> @COND_PGTO OR CODIGO_TAB_PRECO <> @TABELA)
					IF @XCONTA = 1
					BEGIN
						UPDATE VENDAS SET PORC_DESCONTO_COND_PGTO = @DESCONTO_COND_PGTO, PORC_ENCARGO = @ENCARGO, CONDICAO_PGTO = @COND_PGTO, CODIGO_TAB_PRECO = @TABELA WHERE PEDIDO = @PEDIDO
						IF @@ROWCOUNT = 0 
						BEGIN	
							SELECT  @ERRNO  = 30002,
								@ERRMSG = 'PROBLEMA NO UPDATE EM VENDAS !!!'
							GOTO ERROR
						END
					END
					IF @MANTER_ITEM_ZERADO = 0 AND @QTDE = 0
					BEGIN
						DELETE FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI
						SELECT @TOT_VALOR = SUM(VALOR_ORIGINAL), @TOT_QTDE = SUM(QTDE_ORIGINAL) FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO
						FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE
						CONTINUE
					END
				END
				SELECT @PRECO1 = 0, @PRECO2 = 0, @PRECO3 = 0, @PRECO4 = 0
				IF @VARIA_PRECO_COR = 1
					SELECT @PRECO1 = PRECO1, @PRECO2 = PRECO2, @PRECO3 = PRECO3, @PRECO4 = PRECO4 FROM PRODUTOS_PRECO_COR WHERE CODIGO_TAB_PRECO = @TABELA AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI
				ELSE
					SELECT @PRECO1 = PRECO1, @PRECO2 = PRECO2, @PRECO3 = PRECO3, @PRECO4 = PRECO4 FROM PRODUTOS_PRECOS WHERE CODIGO_TAB_PRECO = @TABELA AND PRODUTO = @PRODUTOI
				/* VERIFICA SE DESCONTO_ITEM INCIDE SOBRE O PREÇO */
				IF @INCIDE_SOBRE_PRECO = 1
					SELECT 	@PRECO1 = (@PRECO1 - ROUND(@PRECO1 * (@DESCONTO_ITEM / 100), 2)),
						@PRECO2 = (@PRECO2 - ROUND(@PRECO2 * (@DESCONTO_ITEM / 100), 2)),
						@PRECO3 = (@PRECO3 - ROUND(@PRECO3 * (@DESCONTO_ITEM / 100), 2)),
						@PRECO4 = (@PRECO4 - ROUND(@PRECO4 * (@DESCONTO_ITEM / 100), 2)),
						@DESCONTO_I = 0
				ELSE
					IF  @VARIA_PRECO_TAM = 0
						SELECT @DESCONTO_I = ROUND(@PRECO1 * (@DESCONTO_ITEM / 100), 2)
					ELSE
					BEGIN
						SELECT 	@DESCONTO_I = 0, @XCONTA = 0
						SELECT 	@DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO1 > 0 THEN (@PRECO1 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
							@XCONTA = @XCONTA + CASE WHEN @PRECO1 > 0 THEN 1 ELSE 0 END
						SELECT  @DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO2 > 0 THEN (@PRECO2 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
							@XCONTA = @XCONTA + CASE WHEN @PRECO2 > 0 THEN 1 ELSE 0 END
						SELECT  @DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO3 > 0 THEN (@PRECO3 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
							@XCONTA = @XCONTA + CASE WHEN @PRECO3 > 0 THEN 1 ELSE 0 END
						SELECT	@DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO4 > 0 THEN (@PRECO4 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
							@XCONTA = @XCONTA + CASE WHEN @PRECO4 > 0 THEN 1 ELSE 0 END
						SELECT @DESCONTO_I = ROUND(@DESCONTO_I / CASE WHEN @XCONTA = 0 THEN 1 ELSE @XCONTA END, 2)
					END
				IF @VARIA_PRECO_TAM = 1
				BEGIN
					SELECT @XCONTA = 1
					WHILE @XCONTA <= @NUMERO_TAMANHOS
					BEGIN
						SELECT @VALOR = @VALOR + CONVERT(NUMERIC(14, 2), (CASE @XCONTA
							WHEN 1  THEN @Q1  WHEN 2  THEN @Q2  WHEN 3  THEN @Q3  WHEN 4  THEN @Q4  WHEN 5  THEN @Q5  WHEN 6  THEN @Q6  WHEN 7  THEN @Q7  WHEN 8  THEN @Q8 	WHEN 9  THEN @Q9  WHEN 10 THEN @Q10 WHEN 11 THEN @Q11 WHEN 12 THEN @Q12 WHEN 13 THEN @Q13 WHEN 14 THEN @Q14 WHEN 15 THEN @Q15 WHEN 16 THEN @Q16 WHEN 17 THEN @Q17 WHEN 18 THEN @Q18 WHEN 19 THEN @Q19 WHEN 20 THEN @Q20 WHEN 21 THEN @Q21 WHEN 22 THEN @Q22 WHEN 23 THEN @Q23 WHEN 24 THEN @Q24 
							WHEN 25 THEN @Q25 WHEN 26 THEN @Q26 WHEN 27 THEN @Q27 WHEN 28 THEN @Q28 WHEN 29 THEN @Q29 WHEN 30 THEN @Q30 WHEN 31 THEN @Q31 WHEN 32 THEN @Q32 WHEN 33 THEN @Q33 WHEN 34 THEN @Q34 WHEN 35 THEN @Q35 WHEN 36 THEN @Q36 WHEN 37 THEN @Q37 WHEN 38 THEN @Q38 WHEN 39 THEN @Q39 WHEN 40 THEN @Q40 WHEN 41 THEN @Q41 WHEN 42 THEN @Q42 WHEN 43 THEN @Q43 WHEN 44 THEN @Q44 WHEN 45 THEN @Q45 WHEN 46 THEN @Q46 WHEN 47 THEN @Q47 WHEN 48 THEN @Q48
							END)*(((CASE CONVERT(INT, SUBSTRING(@PONTEIRO_PRECO_TAM , @XCONTA, 1)) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END))) - @DESCONTO_I),  
							@XCONTA = @XCONTA + 1
					END
				END
				ELSE
				SELECT @VALOR = @QTDE * (@PRECO1 - @DESCONTO_I)
				IF EXISTS (SELECT * FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI)
				BEGIN
					UPDATE VENDAS_PRODUTO SET VO1  = @Q1,  VO2  = @Q2,  VO3  = @Q3,  VO4  = @Q4,  VO5  = @Q5,  VO6  = @Q6,  VO7  = @Q7,  VO8  = @Q8,  VO9  = @Q9,  VO10 = @Q10, VO11 = @Q11, VO12 = @Q12, VO13 = @Q13, VO14 = @Q14, VO15 = @Q15, VO16 = @Q16, VO17 = @Q17, VO18 = @Q18, VO19 = @Q19, VO20 = @Q20, VO21 = @Q21, VO22 = @Q22, VO23 = @Q23, VO24 = @Q24,
								  VO25 = @Q25, VO26 = @Q26, VO27 = @Q27, VO28 = @Q28, VO29 = @Q29, VO30 = @Q30, VO31 = @Q31, VO32 = @Q32, VO33 = @Q33, VO34 = @Q34, VO35 = @Q35, VO36 = @Q36, VO37 = @Q37, VO38 = @Q38, VO39 = @Q39, VO40 = @Q40, VO41 = @Q41, VO42 = @Q42, VO43 = @Q43, VO44 = @Q44, VO45 = @Q45, VO46 = @Q46, VO47 = @Q47, VO48 = @Q48,
								  VE1  = @Q1,  VE2  = @Q2,  VE3  = @Q3,  VE4  = @Q4,  VE5  = @Q5,  VE6  = @Q6,  VE7  = @Q7,  VE8  = @Q8,  VE9  = @Q9,  VE10 = @Q10, VE11 = @Q11, VE12 = @Q12, VE13 = @Q13, VE14 = @Q14, VE15 = @Q15, VE16 = @Q16, VE17 = @Q17, VE18 = @Q18, VE19 = @Q19, VE20 = @Q20, VE21 = @Q21, VE22 = @Q22, VE23 = @Q23, VE24 = @Q24,
								  VE25 = @Q25, VE26 = @Q26, VE27 = @Q27, VE28 = @Q28, VE29 = @Q29, VE30 = @Q30, VE31 = @Q31, VE32 = @Q32, VE33 = @Q33, VE34 = @Q34, VE35 = @Q35, VE36 = @Q36, VE37 = @Q37, VE38 = @Q38, VE39 = @Q39, VE40 = @Q40, VE41 = @Q41, VE42 = @Q42, VE43 = @Q43, VE44 = @Q44, VE45 = @Q45, VE46 = @Q46, VE47 = @Q47, VE48 = @Q48,
								  QTDE_ORIGINAL = @QTDE, QTDE_ENTREGAR = @QTDE, VALOR_ORIGINAL = @VALOR, VALOR_ENTREGAR = @VALOR, PRECO1 = @PRECO1, PRECO2 = @PRECO2, PRECO3 = @PRECO3, PRECO4 = @PRECO4, PACKS = CASE WHEN @QTDE_P >0 THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(RTRIM(LTRIM(STR(@QTDE_P, 2, 0))), 3, ' ') ELSE '' END
								  WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI
				END
				ELSE
				BEGIN
					INSERT INTO VENDAS_PRODUTO (PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO, LIMITE_ENTREGA, QTDE_ORIGINAL, QTDE_ENTREGAR, VALOR_ORIGINAL, VALOR_ENTREGAR, DESCONTO_ITEM,
								VO1,  VO2,  VO3,  VO4,  VO5,  VO6,  VO7,  VO8,  VO9,  VO10, VO11, VO12, VO13, VO14, VO15, VO16, VO17, VO18, VO19, VO20, VO21, VO22, VO23, VO24, VO25, VO26, VO27, VO28, VO29, VO30, VO31, VO32, VO33, VO34, VO35, VO36, VO37, VO38, VO39, VO40, VO41, VO42, VO43, VO44, VO45, VO46, VO47, VO48,
								VE1,  VE2,  VE3,  VE4,  VE5,  VE6,  VE7,  VE8,  VE9,  VE10, VE11, VE12, VE13, VE14, VE15, VE16, VE17, VE18, VE19, VE20, VE21, VE22, VE23, VE24,	VE25, VE26, VE27, VE28, VE29, VE30, VE31, VE32, VE33, VE34, VE35, VE36, VE37, VE38, VE39, VE40, VE41, VE42, VE43, VE44, VE45, VE46, VE47, VE48,
								PRECO1, PRECO2, PRECO3, PRECO4, PACKS)
							VALUES (@PEDIDO, @PRODUTOI, @CORI, @DATA, '0000', @DATA, @QTDE, @QTDE, @VALOR, @VALOR, @DESCONTO_I,
								@Q1,  @Q2,  @Q3,  @Q4,  @Q5,  @Q6,  @Q7,  @Q8,  @Q9,  @Q10, @Q11, @Q12, @Q13, @Q14, @Q15, @Q16, @Q17, @Q18, @Q19, @Q20, @Q21, @Q22, @Q23, @Q24, @Q25, @Q26, @Q27, @Q28, @Q29, @Q30, @Q31, @Q32, @Q33, @Q34, @Q35, @Q36, @Q37, @Q38, @Q39, @Q40, @Q41, @Q42, @Q43, @Q44, @Q45, @Q46, @Q47, @Q48,
								@Q1,  @Q2,  @Q3,  @Q4,  @Q5,  @Q6,  @Q7,  @Q8,  @Q9,  @Q10, @Q11, @Q12, @Q13, @Q14, @Q15, @Q16, @Q17, @Q18, @Q19, @Q20, @Q21, @Q22, @Q23, @Q24, @Q25, @Q26, @Q27, @Q28, @Q29, @Q30, @Q31, @Q32, @Q33, @Q34, @Q35, @Q36, @Q37, @Q38, @Q39, @Q40, @Q41, @Q42, @Q43, @Q44, @Q45, @Q46, @Q47, @Q48,
								@PRECO1, @PRECO2, @PRECO3, @PRECO4, CASE WHEN @QTDE_P >0 THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(RTRIM(LTRIM(STR(@QTDE_P, 2, 0))), 3, ' ') ELSE '' END)
				END
				SELECT @TOT_VALOR = SUM(VALOR_ORIGINAL), @TOT_QTDE = SUM(QTDE_ORIGINAL) FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO
				IF NOT EXISTS (SELECT * FROM ROMANEIOS_RESERVAS WHERE PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI AND ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PEDIDO = @PEDIDO)
				BEGIN
					INSERT INTO ROMANEIOS_RESERVAS (ROMANEIO, FILIAL, PEDIDO, PRODUTO, COR_PRODUTO, COR_PEDIDO, ENTREGA, ITEM_PEDIDO, QTDE_R, VALOR_R,
						    R1,  R2,  R3,  R4,  R5,  R6,  R7,  R8,  R9,  R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24,
						    R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39, R40 ,R41, R42, R43, R44, R45, R46, R47, R48, PACKS)
						    VALUES (@ROMANEIO, @FILIAL, @PEDIDO, @PRODUTOI, @CORI, @CORI, @DATA, '0000', @QTDE, @VALOR,
						    @Q1,  @Q2,  @Q3,  @Q4,  @Q5,  @Q6,  @Q7,  @Q8,  @Q9,  @Q10, @Q11, @Q12, @Q13, @Q14, @Q15, @Q16, @Q17, @Q18, @Q19, @Q20, @Q21, @Q22, @Q23, @Q24,
						    @Q25, @Q26, @Q27, @Q28, @Q29, @Q30, @Q31, @Q32, @Q33, @Q34, @Q35, @Q36, @Q37, @Q38, @Q39, @Q40, @Q41, @Q42, @Q43, @Q44, @Q45, @Q46, @Q47, @Q48, 
						    CASE WHEN @QTDE_P >0 THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(RTRIM(LTRIM(STR(@QTDE_P, 2, 0))), 3, ' ') ELSE '' END)
				END
				ELSE
					UPDATE ROMANEIOS_RESERVAS SET R1  = @Q1,  R2  = @Q2,  R3  = @Q3,  R4  = @Q4,  R5  = @Q5,  R6  = @Q6,  R7  = @Q7,  R8  = @Q8,  R9  = @Q9,  R10 = @Q10, R11 = @Q11, R12 = @Q12, R13 = @Q13, R14 = @Q14, R15 = @Q15, R16 = @Q16, R17 = @Q17, R18 = @Q18, R19 = @Q19, R20 = @Q20, R21 = @Q21, R22 = @Q22, R23 = @Q23, R24 = @Q24,
								      R25 = @Q25, R26 = @Q26, R27 = @Q27, R28 = @Q28, R29 = @Q29, R30 = @Q30, R31 = @Q31, R32 = @Q32, R33 = @Q33, R34 = @Q34, R35 = @Q35, R36 = @Q36, R37 = @Q37, R38 = @Q38, R39 = @Q39, R40 = @Q40, R41 = @Q41, R42 = @Q42, R43 = @Q43, R44 = @Q44, R45 = @Q45, R46 = @Q46, R47 = @Q47, R48 = @Q48,
								      QTDE_R = @QTDE, VALOR_R = @VALOR, PACKS = CASE WHEN @QTDE_P >0 THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(RTRIM(LTRIM(STR(@QTDE_P, 2, 0))), 3, ' ') ELSE '' END 
							WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI AND PEDIDO = @PEDIDO
				IF @PROCESSA_PACK = 1
					SELECT @QTDE_D = @QTDE_D - @QTDE_P
				ELSE
				BEGIN
					SELECT 	@D1  = @D1  - @Q1,  @D2  = @D2  - @Q2,  @D3  = @D3  - @Q3,  @D4  = @D4  - @Q4,  @D5  = @D5  - @Q5,  @D6  = @D6  - @Q6,  @D7  = @D7  - @Q7,  @D8  = @D8  - @Q8,  @D9  = @D9  - @Q9,  @D10 = @D10 - @Q10, @D11 = @D11 - @Q11, @D12 = @D12 - @Q12, @D13 = @D13 - @Q13, @D14 = @D14 - @Q14, @D15 = @D15 - @Q15, @D16 = @D16 - @Q16,
						@D17 = @D17 - @Q17, @D18 = @D18 - @Q18, @D19 = @D19 - @Q19, @D20 = @D20 - @Q20, @D21 = @D21 - @Q21, @D22 = @D22 - @Q22, @D23 = @D23 - @Q23, @D24 = @D24 - @Q24, @D25 = @D25 - @Q25, @D26 = @D26 - @Q26, @D27 = @D27 - @Q27, @D28 = @D28 - @Q28, @D29 = @D29 - @Q29, @D30 = @D30 - @Q30, @D31 = @D31 - @Q31, @D32 = @D32 - @Q32,
						@D33 = @D33 - @Q33, @D34 = @D34 - @Q34, @D35 = @D35 - @Q35, @D36 = @D36 - @Q36, @D37 = @D37 - @Q37, @D38 = @D38 - @Q38, @D39 = @D39 - @Q39, @D40 = @D40 - @Q40, @D41 = @D41 - @Q41, @D42 = @D42 - @Q42, @D43 = @D43 - @Q43, @D44 = @D44 - @Q44, @D45 = @D45 - @Q45, @D46 = @D46 - @Q46, @D47 = @D47 - @Q47, @D48 = @D48 - @Q48
					SELECT @QTDE_D = @D1 + @D2 + @D3 + @D4 + @D5 + @D6 + @D7 + @D8 + @D9 + @D10 + @D11 + @D12 + @D13 + @D14 + @D15 + @D16 + @D17 + @D18 + @D19 + @D20 + @D21 + @D22 + @D23 + @D24 +  @D25 + @D26 + @D27 + @D28 + @D29 + @D30 + @D31 + @D32 + @D33 + @D34 + @D35 + @D36 + @D37 + @D38 + @D39 + @D40 + @D41 + @D42 + @D43 + @D44 + @D45 + @D46 + @D47 + @D48				
				END
				IF @STATUS <> 'D' AND @STATUS <> 'F'
					SELECT @STATUS = 'P'
			END
			ELSE
				SELECT @STATUS = 'D'
			FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE
		END
		WHILE  @QTDE_D > 0 
		BEGIN
			FETCH FIRST FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE
			WHILE @@FETCH_STATUS = 0
			BEGIN
				IF @PORCENTAGEMI IS NOT NULL AND @PORCENTAGEMI > 0
				BEGIN
					IF @PROCESSA_PACK = 1
					BEGIN
						SELECT 	@Q1  = @P1,  @Q2  = @P2,  @Q3  = @P3,  @Q4  = @P4,  @Q5  = @P5,  @Q6  = @P6,  @Q7  = @P7,  @Q8  = @P8,  @Q9  = @P9,  @Q10 = @P10, @Q11 = @P11, @Q12 = @P12, @Q13 = @P13, @Q14 = @P14, @Q15 = @P15, @Q16 = @P16, @Q17 = @P17, @Q18 = @P18, @Q19 = @Q19, @Q20 = @P20, @Q21 = @P21, @Q22 = @P22, @Q23 = @P23, @Q24 = @P24,
							@Q25 = @P25, @Q26 = @P26, @Q27 = @P27, @Q28 = @P28, @Q29 = @P29, @Q30 = @P30, @Q31 = @P31, @Q32 = @P32, @Q33 = @P33, @Q34 = @P34, @Q35 = @P35, @Q36 = @P36, @Q37 = @P37, @Q38 = @P38, @Q39 = @P39, @Q40 = @P40, @Q41 = @P41, @Q42 = @P42, @Q43 = @P43, @Q44 = @P44, @Q45 = @P45, @Q46 = @P46, @Q47 = @P47, @Q48 = @P48
						SELECT @QTDE_D = @QTDE_D - 1
					END
					ELSE
					BEGIN
						SELECT  @Q1  = CASE WHEN @D1  > 0 THEN 1 ELSE 0 END, @Q2  = CASE WHEN @D2  > 0 THEN 1 ELSE 0 END, @Q3  = CASE WHEN @D3  > 0 THEN 1 ELSE 0 END, @Q4  = CASE WHEN @D4  > 0 THEN 1 ELSE 0 END, @Q5  = CASE WHEN @D5  > 0 THEN 1 ELSE 0 END, @Q6  = CASE WHEN @D6  > 0 THEN 1 ELSE 0 END, @Q7  = CASE WHEN @D7  > 0 THEN 1 ELSE 0 END, @Q8  = CASE WHEN @D8  > 0 THEN 1 ELSE 0 END, @Q9  = CASE WHEN @D9  > 0 THEN 1 ELSE 0 END, @Q10 = CASE WHEN @D10 > 0 THEN 1 ELSE 0 END, @Q11 = CASE WHEN @D11 > 0 THEN 1 ELSE 0 END, @Q12 = CASE WHEN @D12 > 0 THEN 1 ELSE 0 END, @Q13 = CASE WHEN @D13 > 0 THEN 1 ELSE 0 END, @Q14 = CASE WHEN @D14 > 0 THEN 1 ELSE 0 END, @Q15 = CASE WHEN @D15 > 0 THEN 1 ELSE 0 END, @Q16 = CASE WHEN @D16 > 0 THEN 1 ELSE 0 END, @Q17 = CASE WHEN @D17 > 0 THEN 1 ELSE 0 END, @Q18 = CASE WHEN @D18 > 0 THEN 1 ELSE 0 END, @Q19 = CASE WHEN @D19 > 0 THEN 1 ELSE 0 END, @Q20 = CASE WHEN @D20 > 0 THEN 1 ELSE 0 END, @Q21 = CASE WHEN @D21 > 0 THEN 1 ELSE 0 END, @Q22 = CASE WHEN @D22 > 0 THEN 1 ELSE 0 END, @Q23 = CASE WHEN @D23 > 0 THEN 1 ELSE 0 END, @Q24 = CASE WHEN @D24 > 0 THEN 1 ELSE 0 END,
							@Q25 = CASE WHEN @D25 > 0 THEN 1 ELSE 0 END, @Q26 = CASE WHEN @D26 > 0 THEN 1 ELSE 0 END, @Q27 = CASE WHEN @D27 > 0 THEN 1 ELSE 0 END, @Q28 = CASE WHEN @D28 > 0 THEN 1 ELSE 0 END, @Q29 = CASE WHEN @D29 > 0 THEN 1 ELSE 0 END, @Q30 = CASE WHEN @D30 > 0 THEN 1 ELSE 0 END, @Q31 = CASE WHEN @D31 > 0 THEN 1 ELSE 0 END, @Q32 = CASE WHEN @D32 > 0 THEN 1 ELSE 0 END, @Q33 = CASE WHEN @D33 > 0 THEN 1 ELSE 0 END, @Q34 = CASE WHEN @D34 > 0 THEN 1 ELSE 0 END, @Q35 = CASE WHEN @D35 > 0 THEN 1 ELSE 0 END, @Q36 = CASE WHEN @D36 > 0 THEN 1 ELSE 0 END, @Q37 = CASE WHEN @D37 > 0 THEN 1 ELSE 0 END, @Q38 = CASE WHEN @D38 > 0 THEN 1 ELSE 0 END, @Q39 = CASE WHEN @D39 > 0 THEN 1 ELSE 0 END, @Q40 = CASE WHEN @D40 > 0 THEN 1 ELSE 0 END, @Q41 = CASE WHEN @D41 > 0 THEN 1 ELSE 0 END, @Q42 = CASE WHEN @D42 > 0 THEN 1 ELSE 0 END, @Q43 = CASE WHEN @D43 > 0 THEN 1 ELSE 0 END, @Q44 = CASE WHEN @D44 > 0 THEN 1 ELSE 0 END, @Q45 = CASE WHEN @D45 > 0 THEN 1 ELSE 0 END, @Q46 = CASE WHEN @D46 > 0 THEN 1 ELSE 0 END, @Q47 = CASE WHEN @D47 > 0 THEN 1 ELSE 0 END, @Q48 = CASE WHEN @D48 > 0 THEN 1 ELSE 0 END
						SELECT  @D1  = @D1  - CASE WHEN @D1  > 0 THEN 1 ELSE 0 END, @D2  = @D2  - CASE WHEN @D2  > 0 THEN 1 ELSE 0 END, @D3  = @D3  - CASE WHEN @D3  > 0 THEN 1 ELSE 0 END, @D4  = @D4  - CASE WHEN @D4  > 0 THEN 1 ELSE 0 END, @D5  = @D5  - CASE WHEN @D5  > 0 THEN 1 ELSE 0 END, @D6  = @D6  - CASE WHEN @D6  > 0 THEN 1 ELSE 0 END, @D7  = @D7  - CASE WHEN @D7  > 0 THEN 1 ELSE 0 END, @D8  = @D8  - CASE WHEN @D8  > 0 THEN 1 ELSE 0 END, @D9  = @D9  - CASE WHEN @D9  > 0 THEN 1 ELSE 0 END, @D10 = @D10 - CASE WHEN @D10 > 0 THEN 1 ELSE 0 END, @D11 = @D11 - CASE WHEN @D11 > 0 THEN 1 ELSE 0 END, @D12 = @D12 - CASE WHEN @D12 > 0 THEN 1 ELSE 0 END, @D13 = @D13 - CASE WHEN @D13 > 0 THEN 1 ELSE 0 END, @D14 = @D14 - CASE WHEN @D14 > 0 THEN 1 ELSE 0 END, @D15 = @D15 - CASE WHEN @D15 > 0 THEN 1 ELSE 0 END, @D16 = @D16 - CASE WHEN @D16 > 0 THEN 1 ELSE 0 END, @D17 = @D17 - CASE WHEN @D17 > 0 THEN 1 ELSE 0 END, @D18 = @D18 - CASE WHEN @D18 > 0 THEN 1 ELSE 0 END, @D19 = @D19 - CASE WHEN @D19 > 0 THEN 1 ELSE 0 END, @D20 = @D20 - CASE WHEN @D20 > 0 THEN 1 ELSE 0 END, @D21 = @D21 - CASE WHEN @D21 > 0 THEN 1 ELSE 0 END, @D22 = @D22 - CASE WHEN @D22 > 0 THEN 1 ELSE 0 END, @D23 = @D23 - CASE WHEN @D23 > 0 THEN 1 ELSE 0 END, @D24 = @D24 - CASE WHEN @D24 > 0 THEN 1 ELSE 0 END,
							@D25 = @D25 - CASE WHEN @D25 > 0 THEN 1 ELSE 0 END, @D26 = @D26 - CASE WHEN @D26 > 0 THEN 1 ELSE 0 END, @D27 = @D27 - CASE WHEN @D27 > 0 THEN 1 ELSE 0 END, @D28 = @D28 - CASE WHEN @D28 > 0 THEN 1 ELSE 0 END, @D29 = @D29 - CASE WHEN @D29 > 0 THEN 1 ELSE 0 END, @D30 = @D30 - CASE WHEN @D30 > 0 THEN 1 ELSE 0 END, @D31 = @D31 - CASE WHEN @D31 > 0 THEN 1 ELSE 0 END, @D32 = @D32 - CASE WHEN @D32 > 0 THEN 1 ELSE 0 END, @D33 = @D33 - CASE WHEN @D33 > 0 THEN 1 ELSE 0 END, @D34 = @D34 - CASE WHEN @D34 > 0 THEN 1 ELSE 0 END, @D35 = @D35 - CASE WHEN @D35 > 0 THEN 1 ELSE 0 END, @D36 = @D36 - CASE WHEN @D36 > 0 THEN 1 ELSE 0 END, @D37 = @D37 - CASE WHEN @D37 > 0 THEN 1 ELSE 0 END, @D38 = @D38 - CASE WHEN @D38 > 0 THEN 1 ELSE 0 END, @D39 = @D39 - CASE WHEN @D39 > 0 THEN 1 ELSE 0 END, @D40 = @D40 - CASE WHEN @D40 > 0 THEN 1 ELSE 0 END, @D41 = @D41 - CASE WHEN @D41 > 0 THEN 1 ELSE 0 END, @D42 = @D42 - CASE WHEN @D42 > 0 THEN 1 ELSE 0 END, @D43 = @D43 - CASE WHEN @D43 > 0 THEN 1 ELSE 0 END, @D44 = @D44 - CASE WHEN @D44 > 0 THEN 1 ELSE 0 END, @D45 = @D45 - CASE WHEN @D45 > 0 THEN 1 ELSE 0 END, @D46 = @D46 - CASE WHEN @D46 > 0 THEN 1 ELSE 0 END, @D47 = @D47 - CASE WHEN @D47 > 0 THEN 1 ELSE 0 END, @D48 = @D48 - CASE WHEN @D48 > 0 THEN 1 ELSE 0 END
						SELECT @QTDE_D = @D1 + @D2 + @D3 + @D4 + @D5 + @D6 + @D7 + @D8 + @D9 + @D10 + @D11 + @D12 + @D13 + @D14 + @D15 + @D16 + @D17 + @D18 + @D19 + @D20 + @D21 + @D22 + @D23 + @D24 +  @D25 + @D26 + @D27 + @D28 + @D29 + @D30 + @D31 + @D32 + @D33 + @D34 + @D35 + @D36 + @D37 + @D38 + @D39 + @D40 + @D41 + @D42 + @D43 + @D44 + @D45 + @D46 + @D47 + @D48			
					END
					SELECT @PEDIDO = PEDIDO FROM VENDAS WHERE ROMANEIO = @ROMANEIO AND CLIENTE_ATACADO = @FILIALI
					SELECT @QTDE   = @Q1 + @Q2 + @Q3 + @Q4 + @Q5 + @Q6 + @Q7 + @Q8 + @Q9 + @Q10 + @Q11 + @Q12 + @Q13 + @Q14 + @Q15 + @Q16 + @Q17 + @Q18 + @Q19 + @Q20 + @Q21 + @Q22 + @Q23 + @Q24 +  @Q25 + @Q26 + @Q27 + @Q28 + @Q29 + @Q30 + @Q31 + @Q32 + @Q33 + @Q34 + @Q35 + @Q36 + @Q37 + @Q38 + @Q39 + @Q40 + @Q41 + @Q42 + @Q43 + @Q44 + @Q45 + @Q46 + @Q47 + @Q48
					SELECT @PRECO1 = 0, @PRECO2 = 0, @PRECO3 = 0, @PRECO4 = 0
					IF @VARIA_PRECO_COR = 1
						SELECT @PRECO1 = PRECO1, @PRECO2 = PRECO2, @PRECO3 = PRECO3, @PRECO4 = PRECO4 FROM PRODUTOS_PRECO_COR WHERE CODIGO_TAB_PRECO = @TABELA AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI
					ELSE
						SELECT @PRECO1 = PRECO1, @PRECO2 = PRECO2, @PRECO3 = PRECO3, @PRECO4 = PRECO4 FROM PRODUTOS_PRECOS WHERE CODIGO_TAB_PRECO = @TABELA AND PRODUTO = @PRODUTOI

					/* VERIFICA SE DESCONTO_ITEM INCIDE SOBRE O PREÇO */
					IF @INCIDE_SOBRE_PRECO = 1
						SELECT 	@PRECO1 = (@PRECO1 - ROUND(@PRECO1 * (@DESCONTO_ITEM / 100), 2)),
							@PRECO2 = (@PRECO2 - ROUND(@PRECO2 * (@DESCONTO_ITEM / 100), 2)),
							@PRECO3 = (@PRECO3 - ROUND(@PRECO3 * (@DESCONTO_ITEM / 100), 2)),
							@PRECO4 = (@PRECO4 - ROUND(@PRECO4 * (@DESCONTO_ITEM / 100), 2)),
							@DESCONTO_I = 0
					ELSE
						IF  @VARIA_PRECO_TAM = 0
							SELECT @DESCONTO_I = ROUND(@PRECO1 * (@DESCONTO_ITEM / 100), 2)
						ELSE
						BEGIN
							SELECT 	@DESCONTO_I = 0, @XCONTA = 0
							SELECT 	@DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO1 > 0 THEN (@PRECO1 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
								@XCONTA = @XCONTA + CASE WHEN @PRECO1 > 0 THEN 1 ELSE 0 END
							SELECT  @DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO2 > 0 THEN (@PRECO2 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
								@XCONTA = @XCONTA + CASE WHEN @PRECO2 > 0 THEN 1 ELSE 0 END
							SELECT  @DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO3 > 0 THEN (@PRECO3 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
								@XCONTA = @XCONTA + CASE WHEN @PRECO3 > 0 THEN 1 ELSE 0 END
							SELECT	@DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO4 > 0 THEN (@PRECO4 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
								@XCONTA = @XCONTA + CASE WHEN @PRECO4 > 0 THEN 1 ELSE 0 END
							SELECT @DESCONTO_I = ROUND(@DESCONTO_I / CASE WHEN @XCONTA = 0 THEN 1 ELSE @XCONTA END, 2)
						END

					IF @VARIA_PRECO_TAM = 1
					BEGIN
						SELECT @XCONTA = 1
						WHILE @XCONTA <= @NUMERO_TAMANHOS
						BEGIN
							SELECT @VALOR = @VALOR + CONVERT(NUMERIC(14, 2), (CASE @XCONTA
								WHEN 1  THEN @Q1  WHEN 2  THEN @Q2  WHEN 3  THEN @Q3  WHEN 4  THEN @Q4  WHEN 5  THEN @Q5  WHEN 6  THEN @Q6  WHEN 7  THEN @Q7  WHEN 8  THEN @Q8 	WHEN 9  THEN @Q9  WHEN 10 THEN @Q10 WHEN 11 THEN @Q11 WHEN 12 THEN @Q12 WHEN 13 THEN @Q13 WHEN 14 THEN @Q14 WHEN 15 THEN @Q15 WHEN 16 THEN @Q16 WHEN 17 THEN @Q17 WHEN 18 THEN @Q18 WHEN 19 THEN @Q19 WHEN 20 THEN @Q20 WHEN 21 THEN @Q21 WHEN 22 THEN @Q22 WHEN 23 THEN @Q23 WHEN 24 THEN @Q24 
								WHEN 25 THEN @Q25 WHEN 26 THEN @Q26 WHEN 27 THEN @Q27 WHEN 28 THEN @Q28 WHEN 29 THEN @Q29 WHEN 30 THEN @Q30 WHEN 31 THEN @Q31 WHEN 32 THEN @Q32 WHEN 33 THEN @Q33 WHEN 34 THEN @Q34 WHEN 35 THEN @Q35 WHEN 36 THEN @Q36 WHEN 37 THEN @Q37 WHEN 38 THEN @Q38 WHEN 39 THEN @Q39 WHEN 40 THEN @Q40 WHEN 41 THEN @Q41 WHEN 42 THEN @Q42 WHEN 43 THEN @Q43 WHEN 44 THEN @Q44 WHEN 45 THEN @Q45 WHEN 46 THEN @Q46 WHEN 47 THEN @Q47 WHEN 48 THEN @Q48
								END)*(((CASE CONVERT(INT, SUBSTRING(@PONTEIRO_PRECO_TAM , @XCONTA, 1)) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END))) - @DESCONTO_I), 
								@XCONTA = @XCONTA + 1
						END
					END
					ELSE
						SELECT @VALOR = @QTDE * (@PRECO1 - @DESCONTO_I)

					UPDATE VENDAS_PRODUTO SET VO1  = VO1  + @Q1,  VO2  = VO2  + @Q2,  VO3  = VO3  + @Q3,  VO4  = VO4  + @Q4,  VO5  = VO5  + @Q5,  VO6  = VO6  + @Q6,  VO7  = VO7  + @Q7,  VO8  = VO8  + @Q8,  VO9  = VO9  + @Q9,  VO10 = VO10 + @Q10, VO11 = VO11 + @Q11, VO12 = VO12 + @Q12, VO13 = VO13 + @Q13, VO14 = VO14 + @Q14, VO15 = VO15 + @Q15, VO16 = VO16 + @Q16, VO17 = VO17 + @Q17, VO18 = VO18 + @Q18, VO19 = VO19 + @Q19, VO20 = VO20 + @Q20, VO21 = VO21 + @Q21, VO22 = VO22 + @Q22, VO23 = VO23 + @Q23, VO24 = VO24 + @Q24,  VO25 = VO25 + @Q25, VO26 = VO26 + @Q26, VO27 = VO27 + @Q27, VO28 = VO28 + @Q28, VO29 = VO29 + @Q29, VO30 = VO30 + @Q30, VO31 = VO31 + @Q31, VO32 = VO32 + @Q32, VO33 = VO33 + @Q33, VO34 = VO34 + @Q34, VO35 = VO35 + @Q35, VO36 = VO36 + @Q36, VO37 = VO37 + @Q37, VO38 = VO38 + @Q38, VO39 = VO39 + @Q39, VO40 = VO40 + @Q40, VO41 = VO41 + @Q41, VO42 = VO42 + @Q42, VO43 = VO43 + @Q43, VO44 = VO44 + @Q44, VO45 = VO45 + @Q45, VO46 = VO46 + @Q46, VO47 = VO47 + @Q47, VO48 = VO48 + @Q48,
								  VE1  = VE1  + @Q1,  VE2  = VE2  + @Q2,  VE3  = VE3  + @Q3,  VE4  = VE4  + @Q4,  VE5  = VE5  + @Q5,  VE6  = VE6  + @Q6,  VE7  = VE7  + @Q7,  VE8  = VE8  + @Q8,  VE9  = VE9  + @Q9,  VE10 = VE10 + @Q10, VE11 = VE11 + @Q11, VE12 = VE12 + @Q12, VE13 = VE13 + @Q13, VE14 = VE14 + @Q14, VE15 = VE15 + @Q15, VE16 = VE16 + @Q16, VE17 = VE17 + @Q17, VE18 = VE18 + @Q18, VE19 = VE19 + @Q19, VE20 = VE20 + @Q20, VE21 = VE21 + @Q21, VE22 = VE22 + @Q22, VE23 = VE23 + @Q23, VE24 = VE24 + @Q24,  VE25 = VE25 + @Q25, VE26 = VE26 + @Q26, VE27 = VE27 + @Q27, VE28 = VE28 + @Q28, VE29 = VE29 + @Q29, VE30 = VE30 + @Q30, VE31 = VE31 + @Q31, VE32 = VE32 + @Q32, VE33 = VE33 + @Q33, VE34 = VE34 + @Q34, VE35 = VE35 + @Q35, VE36 = VE36 + @Q36, VE37 = VE37 + @Q37, VE38 = VE38 + @Q38, VE39 = VE39 + @Q39, VE40 = VE40 + @Q40, VE41 = VE41 + @Q41, VE42 = VE42 + @Q42, VE43 = VE43 + @Q43, VE44 = VE44 + @Q44, VE45 = VE45 + @Q45, VE46 = VE46 + @Q46, VE47 = VE47 + @Q47, VE48 = VE48 + @Q48,
								  QTDE_ORIGINAL = QTDE_ORIGINAL + @QTDE, QTDE_ENTREGAR = QTDE_ENTREGAR + @QTDE, VALOR_ORIGINAL = VALOR_ORIGINAL + @VALOR, VALOR_ENTREGAR = VALOR_ENTREGAR + @VALOR, 
					 			  PACKS = CASE WHEN @PROCESSA_PACK = 1 THEN CASE WHEN ISNULL(PACKS,'')='' THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(1, 3, ' ') ELSE LEFT(PACKS,2)+DBO.FX_PADL((CONVERT(INT,SUBSTRING(PACKS,3,LEN(RTRIM(PACKS))))+1),3,' ') END ELSE '' END
					 WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI
					SELECT @TOT_VALOR = SUM(VALOR_ORIGINAL), @TOT_QTDE = SUM(QTDE_ORIGINAL) FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO

					UPDATE ROMANEIOS_RESERVAS SET R1  = R1  + @Q1,  R2  = R2  + @Q2,  R3  = R3  + @Q3,  R4  = R4  + @Q4,  R5  = R5  + @Q5,  R6  = R6  + @Q6,  R7  = R7  + @Q7,  R8  = R8  + @Q8,  R9  = R9  + @Q9,  R10 = R10 + @Q10, R11 = R11 + @Q11, R12 = R12 + @Q12, R13 = R13 + @Q13, R14 = R14 + @Q14, R15 = R15 + @Q15, R16 = R16 + @Q16, R17 = R17 + @Q17, R18 = R18 + @Q18, R19 = R19 + @Q19, R20 = R20 + @Q20, R21 = R21 + @Q21, R22 = R22 + @Q22, R23 = R23 + @Q23, R24 = R24 + @Q24,
								      R25 = R25 + @Q25, R26 = R26 + @Q26, R27 = R27 + @Q27, R28 = R28 + @Q28, R29 = R29 + @Q29, R30 = R30 + @Q30, R31 = R31 + @Q31, R32 = R32 + @Q32, R33 = R33 + @Q33, R34 = R34 + @Q34, R35 = R35 + @Q35, R36 = R36 + @Q36, R37 = R37 + @Q37, R38 = R38 + @Q38, R39 = R39 + @Q39, R40 = R40 + @Q40, R41 = R41 + @Q41, R42 = R42 + @Q42, R43 = R43 + @Q43, R44 = R44 + @Q44, R45 = R45 + @Q45, R46 = R46 + @Q46, R47 = R47 + @Q47, R48 = R48 + @Q48,
								      QTDE_R = QTDE_R + @QTDE, VALOR_R = VALOR_R + @VALOR, 
									 PACKS = CASE WHEN @PROCESSA_PACK = 1 THEN CASE WHEN ISNULL(PACKS,'')='' THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(1, 3, ' ') ELSE LEFT(PACKS,2)+DBO.FX_PADL((CONVERT(INT,SUBSTRING(PACKS,3,LEN(RTRIM(PACKS))))+1),3,' ') END ELSE '' END
							WHERE PEDIDO = @PEDIDO AND ROMANEIO = @ROMANEIO AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI
				END
				IF @QTDE_D = 0 OR @FILIALI IS NULL
					BREAK
				ELSE
					FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE				
			END
			IF @QTDE_D = 0 OR @FILIALI IS NULL
				BREAK
		END
		
		CLOSE CURSOR_ITENS
		DEALLOCATE CURSOR_ITENS
		UPDATE ROMANEIOS_PRODUTO SET STATUS = @STATUS, FILTROS_PROCESSO = 'PROCESSO AUTOMATICO DE DISTRIBUIÇÃO. ' WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO
		FETCH NEXT FROM CURSOR_PRODUTOS_50_new INTO @PRODUTO, @ORDEM_PRODUCAO, @COR_PRODUTO, @PROGRAMACAO, @NUMERO_TAMANHOS

	END
	/* PROCESSAMENTO DE PACK COR 2 */
	ELSE
	BEGIN

		/* APAGA ITENS EM VENDAS_PRODUTO */
		DECLARE CURSOR_DELETE CURSOR FOR 
		SELECT DISTINCT VENDAS.PEDIDO 
		FROM VENDAS JOIN VENDAS_PRODUTO ON VENDAS.PEDIDO = VENDAS_PRODUTO.PEDIDO 
		WHERE ROMANEIO = @ROMANEIO AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO
		OPEN CURSOR_DELETE
		FETCH NEXT FROM CURSOR_DELETE INTO @PEDIDO
		WHILE @@FETCH_STATUS = 0
		BEGIN
			DELETE FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO
			SELECT @XCONTA = COUNT(*), @TOT_QTDE = ISNULL(SUM(QTDE_ORIGINAL), 0), @TOT_VALOR = ISNULL(SUM(VALOR_ORIGINAL), 0) FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO
			IF @XCONTA = 0
				DELETE FROM VENDAS WHERE PEDIDO = @PEDIDO

			FETCH NEXT FROM CURSOR_DELETE INTO @PEDIDO
		END
		CLOSE CURSOR_DELETE
		DEALLOCATE CURSOR_DELETE
		SELECT @STATUS = 'P'
		/* LIMPA TABELA TEMPORARIA */
		TRUNCATE TABLE #TMP_ESTOQUE_DISTRIBUICAO

		SELECT @SELECT1 = 	' SELECT B.PRODUTO, B.COR_PRODUTO, ISNULL(A.FILIAL, ' + @ASPAS + @FILIAL_DISPONIVEL + @ASPAS + ') AS FILIAL, '+
			  	  	'(DBO.LX_POSITIVO_INT(SUM(ISNULL(D1,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D1, (DBO.LX_POSITIVO_INT(SUM(ISNULL(D2,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D2, (DBO.LX_POSITIVO_INT(SUM(ISNULL(D3,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D3, (DBO.LX_POSITIVO_INT(SUM(ISNULL(D4,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D4, '+
					'(DBO.LX_POSITIVO_INT(SUM(ISNULL(D5,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D5, (DBO.LX_POSITIVO_INT(SUM(ISNULL(D6,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D6, (DBO.LX_POSITIVO_INT(SUM(ISNULL(D7,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D7, (DBO.LX_POSITIVO_INT(SUM(ISNULL(D8,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D8, '+ 
					'(DBO.LX_POSITIVO_INT(SUM(ISNULL(D9,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D9, (DBO.LX_POSITIVO_INT(SUM(ISNULL(D10,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D10,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D11,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D11,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D12,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D12,'+  
					'(DBO.LX_POSITIVO_INT(SUM(ISNULL(D13,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D13,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D14,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D14,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D15,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D15,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D16,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D16,'+ 
					'(DBO.LX_POSITIVO_INT(SUM(ISNULL(D17,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D17,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D18,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D18,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D19,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D19,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D20,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D20,'+ 
					'(DBO.LX_POSITIVO_INT(SUM(ISNULL(D21,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D21,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D22,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D22,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D23,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D23,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D24,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D24,'+ 
					'(DBO.LX_POSITIVO_INT(SUM(ISNULL(D25,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D25,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D26,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D26,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D27,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D27,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D28,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D28,'+ 
					'(DBO.LX_POSITIVO_INT(SUM(ISNULL(D29,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D29,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D30,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D30,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D31,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D31,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D32,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D32,'
		SELECT @SELECT11 = '(DBO.LX_POSITIVO_INT(SUM(ISNULL(D33,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D33,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D34,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D34,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D35,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D35,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D36,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D36,'+
						   '(DBO.LX_POSITIVO_INT(SUM(ISNULL(D37,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D37,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D38,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D38,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D39,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D39,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D40,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D40,'+ 
						   '(DBO.LX_POSITIVO_INT(SUM(ISNULL(D41,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D41,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D42,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D42,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D43,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D43,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D44,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D44,'+ 
						   '(DBO.LX_POSITIVO_INT(SUM(ISNULL(D45,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D45,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D46,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D46,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D47,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D47,(DBO.LX_POSITIVO_INT(SUM(ISNULL(D48,  0))) *  ' + CONVERT(CHAR(10), @PORCENTAGEM) + ' / 100) AS D48 '+
			  			   ' FROM  PRODUTOS_PACKS_PERMITIDOS B LEFT JOIN ( '


		/* ESTOQUE - RESERVADO */
		IF CHARINDEX('E', @DISPONIVEL) > 0
		BEGIN
			SELECT @SELECT2 = ' SELECT ESTOQUE_PRODUTOS.PRODUTO, ESTOQUE_PRODUTOS.COR_PRODUTO, ESTOQUE_PRODUTOS.FILIAL, '+
					  ' DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES1))  - SUM(ISNULL(E1,  0))) D1,  DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES2))  - SUM(ISNULL(E2,  0))) D2,  DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES3))  - SUM(ISNULL(E3,  0))) D3,  DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES4))  - SUM(ISNULL(E4,  0))) D4,  DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES5))  - SUM(ISNULL(E5,  0))) D5,  DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES6))  - SUM(ISNULL(E6,  0))) D6,  DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES7))  - SUM(ISNULL(E7,  0))) D7,  DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES8))  - SUM(ISNULL(E8,  0))) D8, '+
					  ' DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES9))  - SUM(ISNULL(E9,  0))) D9,  DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES10)) - SUM(ISNULL(E10, 0))) D10, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES11)) - SUM(ISNULL(E11, 0))) D11, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES12)) - SUM(ISNULL(E12, 0))) D12, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES13)) - SUM(ISNULL(E13, 0))) D13, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES14)) - SUM(ISNULL(E14, 0))) D14, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES15)) - SUM(ISNULL(E15, 0))) D15, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES16)) - SUM(ISNULL(E16, 0))) D16, '+
					  ' DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES17)) - SUM(ISNULL(E17, 0))) D17, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES18)) - SUM(ISNULL(E18, 0))) D18, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES19)) - SUM(ISNULL(E19, 0))) D19, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES20)) - SUM(ISNULL(E20, 0))) D20, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES21)) - SUM(ISNULL(E21, 0))) D21, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES22)) - SUM(ISNULL(E22, 0))) D22, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES23)) - SUM(ISNULL(E23, 0))) D23, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES24)) - SUM(ISNULL(E24, 0))) D24, '+
					  ' DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES25)) - SUM(ISNULL(E25, 0))) D25, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES26)) - SUM(ISNULL(E26, 0))) D26, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES27)) - SUM(ISNULL(E27, 0))) D27, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES28)) - SUM(ISNULL(E28, 0))) D28, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES29)) - SUM(ISNULL(E29, 0))) D29, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES30)) - SUM(ISNULL(E30, 0))) D30, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES31)) - SUM(ISNULL(E31, 0))) D31, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES32)) - SUM(ISNULL(E32, 0))) D32, '+
					  ' DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES33)) - SUM(ISNULL(E33, 0))) D33, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES34)) - SUM(ISNULL(E34, 0))) D34, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES35)) - SUM(ISNULL(E35, 0))) D35, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES36)) - SUM(ISNULL(E36, 0))) D36, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES37)) - SUM(ISNULL(E37, 0))) D37, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES38)) - SUM(ISNULL(E38, 0))) D38, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES39)) - SUM(ISNULL(E39, 0))) D39, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES40)) - SUM(ISNULL(E40, 0))) D40, '+
					  ' DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES41)) - SUM(ISNULL(E41, 0))) D41, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES42)) - SUM(ISNULL(E42, 0))) D42, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES43)) - SUM(ISNULL(E43, 0))) D43, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES44)) - SUM(ISNULL(E44, 0))) D44, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES45)) - SUM(ISNULL(E45, 0))) D45, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES46)) - SUM(ISNULL(E46, 0))) D46, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES47)) - SUM(ISNULL(E47, 0))) D47, DBO.LX_POSITIVO_INT(DBO.LX_POSITIVO_INT(AVG(ES48)) - SUM(ISNULL(E48, 0))) D48 '
			SELECT @SELECT3 = ''
			SELECT @SELECT4 =' FROM ESTOQUE_PRODUTOS LEFT JOIN VENDAS_PROD_EMBALADO '+
					 ' ON ESTOQUE_PRODUTOS.PRODUTO = VENDAS_PROD_EMBALADO.PRODUTO '+
					 ' AND ESTOQUE_PRODUTOS.COR_PRODUTO = VENDAS_PROD_EMBALADO.COR_PRODUTO '+
					 ' AND ESTOQUE_PRODUTOS.FILIAL = VENDAS_PROD_EMBALADO.FILIAL '+
					 ' WHERE ESTOQUE_PRODUTOS.FILIAL = ' + @ASPAS + @FILIAL_DISPONIVEL + @ASPAS +
					 ' AND ESTOQUE_PRODUTOS.PRODUTO = ' + @ASPAS + @PRODUTO + @ASPAS +
					 ' GROUP BY ESTOQUE_PRODUTOS.PRODUTO, ESTOQUE_PRODUTOS.COR_PRODUTO, ESTOQUE_PRODUTOS.FILIAL '
		END
		ELSE
			SELECT @SELECT2 = '', @SELECT3= '', @SELECT4 = ''

		/* COMPRAS */
		IF CHARINDEX('C', @DISPONIVEL) > 0
		BEGIN
			SELECT @SELECT5 = CASE WHEN @SELECT2 <> '' THEN ' UNION ALL ' ELSE '' END +
					' SELECT PRODUTO, COR_PRODUTO, FILIAL_A_ENTREGAR AS FILIAL, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO1'  ELSE 'CE1'  END + '), 0) D1,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO2'  ELSE 'CE2'  END + '), 0) D2,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO3'  ELSE 'CE3'  END + '), 0) D3,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO4'  ELSE 'CE4'  END + '), 0) D4,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO5'  ELSE 'CE5'  END + '), 0) D5,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO6'  ELSE 'CE6'  END + '), 0) D6,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO7'  ELSE 'CE7'  END + '), 0) D7,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO8'  ELSE 'CE8'  END + '), 0) D8,  '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO9'  ELSE 'CE9'  END + '), 0) D9,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO10' ELSE 'CE10' END + '), 0) D10, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO11' ELSE 'CE11' END + '), 0) D11, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO12' ELSE 'CE12' END + '), 0) D12, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO13' ELSE 'CE13' END + '), 0) D13, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO14' ELSE 'CE14' END + '), 0) D14, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO15' ELSE 'CE15' END + '), 0) D15, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO16' ELSE 'CE16' END + '), 0) D16, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO17' ELSE 'CE17' END + '), 0) D17, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO18' ELSE 'CE18' END + '), 0) D18, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO19' ELSE 'CE19' END + '), 0) D19, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO20' ELSE 'CE20' END + '), 0) D20, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO21' ELSE 'CE21' END + '), 0) D21, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO22' ELSE 'CE22' END + '), 0) D22, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO23' ELSE 'CE23' END + '), 0) D23, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO24' ELSE 'CE24' END + '), 0) D24, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO25' ELSE 'CE25' END + '), 0) D25, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO26' ELSE 'CE26' END + '), 0) D26, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO27' ELSE 'CE27' END + '), 0) D27, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO28' ELSE 'CE28' END + '), 0) D28, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO29' ELSE 'CE29' END + '), 0) D29, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO30' ELSE 'CE30' END + '), 0) D30, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO31' ELSE 'CE31' END + '), 0) D31, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO32' ELSE 'CE32' END + '), 0) D32, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO33' ELSE 'CE33' END + '), 0) D33, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO34' ELSE 'CE34' END + '), 0) D34, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO35' ELSE 'CE35' END + '), 0) D35, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO36' ELSE 'CE36' END + '), 0) D36, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO37' ELSE 'CE37' END + '), 0) D37, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO38' ELSE 'CE38' END + '), 0) D38, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO39' ELSE 'CE39' END + '), 0) D39, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO40' ELSE 'CE40' END + '), 0) D40, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO41' ELSE 'CE41' END + '), 0) D41, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO42' ELSE 'CE42' END + '), 0) D42, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO43' ELSE 'CE43' END + '), 0) D43, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO44' ELSE 'CE44' END + '), 0) D44, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO45' ELSE 'CE45' END + '), 0) D45, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO46' ELSE 'CE46' END + '), 0) D46, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO47' ELSE 'CE47' END + '), 0) D47, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'CO48' ELSE 'CE48' END + '), 0) D48 ' +
					' FROM COMPRAS A JOIN COMPRAS_PRODUTO B ON A.PEDIDO = B.PEDIDO '+
					' WHERE FILIAL_A_ENTREGAR = ' + @ASPAS + @FILIAL_DISPONIVEL + @ASPAS +  
					' AND PRODUTO = ' + @ASPAS + @PRODUTO + @ASPAS 
			IF @PED_COMPRA IS NOT NULL AND @PED_COMPRA <> ''
				SELECT @SELECT5 = @SELECT5 + 'AND A.PEDIDO = ' + @ASPAS + @PED_COMPRA + @ASPAS
			ELSE
			BEGIN
				IF @COMPRAS_I IS NOT NULL
					SELECT @SELECT5 = @SELECT5 + ' AND EMISSAO >= ' + @ASPAS + convert(char(10), @COMPRAS_I, 101) + @ASPAS + ' AND EMISSAO <= '+ @ASPAS + convert(char(10), @COMPRAS_F, 101) + @ASPAS 
				IF @PEDIDO_I IS NOT NULL
					SELECT @SELECT5 = @SELECT5 + ' AND A.PEDIDO >= ' + @ASPAS + @PEDIDO_I + @ASPAS
				IF @PEDIDO_F IS NOT NULL
					SELECT @SELECT5 = @SELECT5 + ' AND A.PEDIDO <= ' + @ASPAS + @PEDIDO_F + @ASPAS
			END
			SELECT @SELECT5 = @SELECT5 + ' GROUP BY PRODUTO, COR_PRODUTO, FILIAL_A_ENTREGAR '
		END
		ELSE
			SELECT @SELECT5 = ''

		/* PRODUCAO */
		IF CHARINDEX('O', @DISPONIVEL) > 0
		BEGIN
			SELECT @SELECT6 = CASE WHEN @SELECT2 <> '' OR @SELECT5 <> '' THEN ' UNION ALL ' ELSE '' END +
					' SELECT B.PRODUTO, COR_PRODUTO, FILIAL, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O1'  ELSE 'P1'  END + '), 0) D1,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O2'  ELSE 'P2'  END + '), 0) D2,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O3'  ELSE 'P3'  END + '), 0) D3,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O4'  ELSE 'P4'  END + '), 0) D4,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O5'  ELSE 'P5'  END + '), 0) D5,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O6'  ELSE 'P6'  END + '), 0) D6,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O7'  ELSE 'P7'  END + '), 0) D7,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O8'  ELSE 'P8'  END + '), 0) D8,  '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O9'  ELSE 'P9'  END + '), 0) D9,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O10' ELSE 'P10' END + '), 0) D10, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O11' ELSE 'P11' END + '), 0) D11, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O12' ELSE 'P12' END + '), 0) D12, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O13' ELSE 'P13' END + '), 0) D13, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O14' ELSE 'P14' END + '), 0) D14, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O15' ELSE 'P15' END + '), 0) D15, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O16' ELSE 'P16' END + '), 0) D16, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O17' ELSE 'P17' END + '), 0) D17, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O18' ELSE 'P18' END + '), 0) D18, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O19' ELSE 'P19' END + '), 0) D19, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O20' ELSE 'P20' END + '), 0) D20, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O21' ELSE 'P21' END + '), 0) D21, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O22' ELSE 'P22' END + '), 0) D22, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O23' ELSE 'P23' END + '), 0) D23, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O24' ELSE 'P24' END + '), 0) D24, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O25' ELSE 'P25' END + '), 0) D25, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O26' ELSE 'P26' END + '), 0) D26, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O27' ELSE 'P27' END + '), 0) D27, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O28' ELSE 'P28' END + '), 0) D28, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O29' ELSE 'P29' END + '), 0) D29, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O30' ELSE 'P30' END + '), 0) D30, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O31' ELSE 'P31' END + '), 0) D31, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O32' ELSE 'P32' END + '), 0) D32, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O22' ELSE 'P33' END + '), 0) D33, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O34' ELSE 'P34' END + '), 0) D34, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O35' ELSE 'P35' END + '), 0) D35, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O36' ELSE 'P36' END + '), 0) D36, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O37' ELSE 'P37' END + '), 0) D37, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O38' ELSE 'P38' END + '), 0) D38, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O39' ELSE 'P39' END + '), 0) D39, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O40' ELSE 'P40' END + '), 0) D40, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O41' ELSE 'P41' END + '), 0) D41, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O42' ELSE 'P42' END + '), 0) D42, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O43' ELSE 'P43' END + '), 0) D43, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O44' ELSE 'P44' END + '), 0) D44, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O45' ELSE 'P45' END + '), 0) D45, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O46' ELSE 'P46' END + '), 0) D46, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O47' ELSE 'P47' END + '), 0) D47, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'O48' ELSE 'P48' END + '), 0) D48  '+
					' FROM PRODUCAO_ORDEM A JOIN PRODUCAO_ORDEM_COR B ON A.ORDEM_PRODUCAO = B.ORDEM_PRODUCAO AND A.PRODUTO = B.PRODUTO '+
					' WHERE FILIAL = ' + @ASPAS + @FILIAL_DISPONIVEL + @ASPAS + ' AND QTDE_P > 0 ' +
					' AND A.PRODUTO = ' + @ASPAS + @PRODUTO + @ASPAS 
			IF @OP IS NOT NULL AND @OP <> ''
				SELECT @SELECT6 = @SELECT6 + ' AND A.ORDEM_PRODUCAO = ' + @ASPAS + @OP + @ASPAS
			ELSE
			BEGIN
				IF @PRODUCAO_I IS NOT NULL
					SELECT @SELECT6 = @SELECT6 + ' AND PREVISAO_FIM >= ' + @ASPAS + convert(char(10), @PRODUCAO_I, 101) + @ASPAS + 'AND PREVISAO_FIM <= ' + @ASPAS + convert(char(10), @PRODUCAO_F, 101) + @ASPAS 
				IF @OP_I IS NOT NULL
					SELECT @SELECT6 = @SELECT6 + ' AND A.ORDEM_PRODUCAO >= ' + @ASPAS + @OP_I + @ASPAS
				IF @OP_F IS NOT NULL
					SELECT @SELECT6 = @SELECT6 + ' AND A.ORDEM_PRODUCAO <= ' + @ASPAS + @OP_F + @ASPAS
			END
			SELECT @SELECT6 = @SELECT6 + ' GROUP BY B.PRODUTO, COR_PRODUTO, FILIAL '
		END
		ELSE
			SELECT @SELECT6 = ''

		/* PROGRAMACAO */
		IF CHARINDEX('P', @DISPONIVEL) > 0
		BEGIN
			SELECT @SELECT7 = CASE WHEN @SELECT2 <> '' OR @SELECT5 <> '' OR @SELECT6 <> '' THEN ' UNION ALL ' ELSE  '' END +
					' SELECT PRODUTO, COR_PRODUTO, ' + @ASPAS + @FILIAL_DISPONIVEL + @ASPAS + ' AS FILIAL, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P1'  ELSE 'S1'  END + '), 0) D1,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P2'  ELSE 'S2'  END + '), 0) D2,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P3'  ELSE 'S3'  END + '), 0) D3,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P4'  ELSE 'S4'  END + '), 0) D4,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P5'  ELSE 'S5'  END + '), 0) D5,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P6'  ELSE 'S6'  END + '), 0) D6,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P7'  ELSE 'S7'  END + '), 0) D7,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P8'  ELSE 'S8'  END + '), 0) D8,  '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P9'  ELSE 'S9'  END + '), 0) D9,  ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P10' ELSE 'S10' END + '), 0) D10, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P11' ELSE 'S11' END + '), 0) D11, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P12' ELSE 'S12' END + '), 0) D12, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P13' ELSE 'S13' END + '), 0) D13, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P14' ELSE 'S14' END + '), 0) D14, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P15' ELSE 'S15' END + '), 0) D15, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P16' ELSE 'S16' END + '), 0) D16, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P17' ELSE 'S17' END + '), 0) D17, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P18' ELSE 'S18' END + '), 0) D18, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P19' ELSE 'S19' END + '), 0) D19, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P20' ELSE 'S20' END + '), 0) D20, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P21' ELSE 'S21' END + '), 0) D21, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P22' ELSE 'S22' END + '), 0) D22, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P23' ELSE 'S23' END + '), 0) D23, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P24' ELSE 'S24' END + '), 0) D24, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P25' ELSE 'S25' END + '), 0) D25, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P26' ELSE 'S26' END + '), 0) D26, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P27' ELSE 'S27' END + '), 0) D27, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P28' ELSE 'S28' END + '), 0) D28, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P29' ELSE 'S29' END + '), 0) D29, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P30' ELSE 'S30' END + '), 0) D30, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P31' ELSE 'S31' END + '), 0) D31, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P32' ELSE 'S32' END + '), 0) D32, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P33' ELSE 'S33' END + '), 0) D33, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P34' ELSE 'S34' END + '), 0) D34, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P35' ELSE 'S35' END + '), 0) D35, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P36' ELSE 'S36' END + '), 0) D36, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P37' ELSE 'S37' END + '), 0) D37, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P38' ELSE 'S38' END + '), 0) D38, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P39' ELSE 'S39' END + '), 0) D39, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P40' ELSE 'S40' END + '), 0) D40, '+
					' ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P41' ELSE 'S41' END + '), 0) D41, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P42' ELSE 'S42' END + '), 0) D42, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P43' ELSE 'S43' END + '), 0) D43, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P44' ELSE 'S44' END + '), 0) D44, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P45' ELSE 'S45' END + '), 0) D45, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P46' ELSE 'S46' END + '), 0) D46, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P47' ELSE 'S47' END + '), 0) D47, ISNULL(SUM(' + CASE WHEN @TIPO_DISPONIVEL = 1 THEN 'P48' ELSE 'S48' END + '), 0) D48 '+
					' FROM PRODUCAO_PROG_PROD JOIN PRODUCAO_PROGRAMA ON PRODUCAO_PROG_PROD.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO WHERE PRODUTO = ' + @ASPAS + @PRODUTO + @ASPAS 
			IF ISNULL(@PROGRAMACAO, '') <> ''
				SELECT @SELECT7 = @SELECT7 + ' AND PRODUCAO_PROG_PROD.PROGRAMACAO = ' + @ASPAS + @PROGRAMACAO + @ASPAS
			ELSE
			BEGIN
				IF @PROGRAMACAO_I IS NOT NULL
					SELECT @SELECT7 = @SELECT7 + ' AND ENTREGA_INICIAL >= ' + @ASPAS + convert(char(10), @PROGRAMACAO_I, 101) + @ASPAS + 'AND ENTREGA_INICIAL <= ' + @ASPAS + convert(char(10), @PROGRAMACAO_F, 101) + @ASPAS 
			END
			SELECT @SELECT7 = @SELECT7 + ' GROUP BY PRODUTO, COR_PRODUTO '
		END
		ELSE
			SELECT @SELECT7 = ''

		/* VENDAS */
		IF CHARINDEX('V', @DISPONIVEL) > 0
		BEGIN
			SELECT 	@SELECT8 = CASE WHEN @SELECT2 <> '' OR @SELECT5 <> '' OR @SELECT6 <> '' OR @SELECT7 <> '' THEN ' UNION ALL ' ELSE '' END +
				' SELECT VENDAS_PRODUTO.PRODUTO, VENDAS_PRODUTO.COR_PRODUTO, VENDAS.FILIAL, '+
				' D1  = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE1),  0) - ISNULL(SUM(T1),  0)), D2  = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE2),  0) - ISNULL(SUM(T2),  0)), D3  = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE3),  0) - ISNULL(SUM(T3),  0)), D4  = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE4),  0) - ISNULL(SUM(T4),  0)), D5  = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE5),  0) - ISNULL(SUM(T5),  0)), D6  = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE6),  0) - ISNULL(SUM(T6),  0)), D7  = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE7),  0) - ISNULL(SUM(T7),  0)), D8  = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE8),  0) - ISNULL(SUM(T8),  0)), '+
				' D9  = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE9),  0) - ISNULL(SUM(T9),  0)), D10 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE10), 0) - ISNULL(SUM(T10), 0)), D11 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE11), 0) - ISNULL(SUM(T11), 0)), D12 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE12), 0) - ISNULL(SUM(T12), 0)), D13 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE13), 0) - ISNULL(SUM(T13), 0)), D14 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE14), 0) - ISNULL(SUM(T14), 0)), D15 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE15), 0) - ISNULL(SUM(T15), 0)), D16 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE16), 0) - ISNULL(SUM(T16), 0)), '+
				' D17 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE17), 0) - ISNULL(SUM(T17), 0)), D18 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE18), 0) - ISNULL(SUM(T18), 0)), D19 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE19), 0) - ISNULL(SUM(T19), 0)), D20 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE20), 0) - ISNULL(SUM(T20), 0)), D21 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE21), 0) - ISNULL(SUM(T21), 0)), D22 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE22), 0) - ISNULL(SUM(T22), 0)), D23 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE23), 0) - ISNULL(SUM(T23), 0)), D24 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE24), 0) - ISNULL(SUM(T24), 0)), '+
				' D25 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE25), 0) - ISNULL(SUM(T25), 0)), D26 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE26), 0) - ISNULL(SUM(T26), 0)), D27 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE27), 0) - ISNULL(SUM(T27), 0)), D28 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE28), 0) - ISNULL(SUM(T28), 0)), D29 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE29), 0) - ISNULL(SUM(T29), 0)), D30 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE30), 0) - ISNULL(SUM(T30), 0)), D31 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE31), 0) - ISNULL(SUM(T31), 0)), D32 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE32), 0) - ISNULL(SUM(T32), 0)), '+
				' D33 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE33), 0) - ISNULL(SUM(T33), 0)), D34 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE34), 0) - ISNULL(SUM(T34), 0)), D35 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE35), 0) - ISNULL(SUM(T35), 0)), D36 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE36), 0) - ISNULL(SUM(T36), 0)), D37 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE37), 0) - ISNULL(SUM(T37), 0)), D38 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE38), 0) - ISNULL(SUM(T38), 0)), D39 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE39), 0) - ISNULL(SUM(T39), 0)), D40 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE40), 0) - ISNULL(SUM(T40), 0)), '+
				' D41 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE41), 0) - ISNULL(SUM(T41), 0)), D42 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE42), 0) - ISNULL(SUM(T42), 0)), D43 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE43), 0) - ISNULL(SUM(T43), 0)), D44 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE44), 0) - ISNULL(SUM(T44), 0)), D45 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE45), 0) - ISNULL(SUM(T45), 0)), D46 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE46), 0) - ISNULL(SUM(T46), 0)), D47 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE47), 0) - ISNULL(SUM(T47), 0)), D48 = -DBO.LX_POSITIVO_INT(ISNULL(SUM(VE48), 0) - ISNULL(SUM(T48), 0)) '+
				' FROM VENDAS '+
				' JOIN VENDAS_PRODUTO ON VENDAS.PEDIDO = VENDAS_PRODUTO.PEDIDO '+
				' JOIN W_VENDAS_DISPONIVEL ON VENDAS_PRODUTO.PEDIDO = W_VENDAS_DISPONIVEL.PEDIDO AND VENDAS_PRODUTO.PRODUTO = W_VENDAS_DISPONIVEL.PRODUTO AND VENDAS_PRODUTO.COR_PRODUTO = W_VENDAS_DISPONIVEL.COR_PRODUTO AND VENDAS_PRODUTO.ENTREGA = W_VENDAS_DISPONIVEL.ENTREGA AND VENDAS_PRODUTO.ITEM_PEDIDO = W_VENDAS_DISPONIVEL.ITEM_PEDIDO '+
				' WHERE VENDAS_PRODUTO.PRODUTO = ' + @ASPAS + @PRODUTO + @ASPAS + ' AND VENDAS.FILIAL = ' + @ASPAS + @FILIAL_DISPONIVEL + @ASPAS + ' AND VENDAS_PRODUTO.QTDE_ENTREGAR > 0 '
			
			IF ISNULL(@EMISSAO_VENDAS_I, '') <> ''
				SELECT @SELECT8 = @SELECT8 + ' AND VENDAS.EMISSAO >= ' + @ASPAS + convert(char(10), @EMISSAO_VENDAS_I, 101) + @ASPAS

			IF ISNULL(@EMISSAO_VENDAS_F, '') <> ''
				SELECT @SELECT8 = @SELECT8 + ' AND VENDAS.EMISSAO <= ' + @ASPAS + convert(char(10), @EMISSAO_VENDAS_F, 101) + @ASPAS 

			IF ISNULL(@PEDIDO_VENDAS_I, '') <> ''	
				SELECT @SELECT8 = @SELECT8 + ' AND VENDAS.PEDIDO >= ' + @ASPAS + @PEDIDO_VENDAS_I + @ASPAS 
			
			IF ISNULL(@PEDIDO_VENDAS_F, '') <> '' 
				SELECT @SELECT8 = @SELECT8 + ' AND VENDAS.PEDIDO <= ' + @ASPAS + @PEDIDO_VENDAS_F + @ASPAS 

			SELECT @SELECT8 = @SELECT8 + ' GROUP BY VENDAS_PRODUTO.PRODUTO, VENDAS_PRODUTO.COR_PRODUTO, VENDAS.FILIAL '
		END
		ELSE
			SELECT @SELECT8 = ''
		
		IF CHARINDEX('R', @DISPONIVEL) > 0
			SELECT @SELECT9 = CASE WHEN @SELECT2 <> '' OR @SELECT5 <> '' OR @SELECT6 <> '' OR @SELECT7 <> '' OR @SELECT8 <> '' THEN ' UNION ALL ' ELSE '' END +
				' SELECT ROMANEIOS_RESERVAS.PRODUTO, ROMANEIOS_RESERVAS.COR_PRODUTO, ' + @ASPAS + @FILIAL_DISPONIVEL + @ASPAS + ' AS FILIAL, '+
				' D1  = -ISNULL(SUM(R1),  0), D2  = -ISNULL(SUM(R2),  0), D3  = -ISNULL(SUM(R3),  0), D4  = -ISNULL(SUM(R4),  0), D5  = -ISNULL(SUM(R5),  0), D6  = -ISNULL(SUM(R6),  0), D7  = -ISNULL(SUM(R7),  0), D8  = -ISNULL(SUM(R8),  0), '+
				' D9  = -ISNULL(SUM(R9),  0), D10 = -ISNULL(SUM(R10), 0), D11 = -ISNULL(SUM(R11), 0), D12 = -ISNULL(SUM(R12), 0), D13 = -ISNULL(SUM(R13), 0), D14 = -ISNULL(SUM(R14), 0), D15 = -ISNULL(SUM(R15), 0), D16 = -ISNULL(SUM(R16), 0), '+
				' D17 = -ISNULL(SUM(R17), 0), D18 = -ISNULL(SUM(R18), 0), D19 = -ISNULL(SUM(R19), 0), D20 = -ISNULL(SUM(R20), 0), D21 = -ISNULL(SUM(R21), 0), D22 = -ISNULL(SUM(R22), 0), D23 = -ISNULL(SUM(R23), 0), D24 = -ISNULL(SUM(R24), 0), '+
				' D25 = -ISNULL(SUM(R25), 0), D26 = -ISNULL(SUM(R26), 0), D27 = -ISNULL(SUM(R27), 0), D28 = -ISNULL(SUM(R28), 0), D29 = -ISNULL(SUM(R29), 0), D30 = -ISNULL(SUM(R30), 0), D31 = -ISNULL(SUM(R31), 0), D32 = -ISNULL(SUM(R32), 0), '+
				' D33 = -ISNULL(SUM(R33), 0), D34 = -ISNULL(SUM(R34), 0), D35 = -ISNULL(SUM(R35), 0), D36 = -ISNULL(SUM(R36), 0), D37 = -ISNULL(SUM(R37), 0), D38 = -ISNULL(SUM(R38), 0), D39 = -ISNULL(SUM(R39), 0), D40 = -ISNULL(SUM(R40), 0), '+
				' D41 = -ISNULL(SUM(R41), 0), D42 = -ISNULL(SUM(R42), 0), D43 = -ISNULL(SUM(R43), 0), D44 = -ISNULL(SUM(R44), 0), D45 = -ISNULL(SUM(R45), 0), D46 = -ISNULL(SUM(R46), 0), D47 = -ISNULL(SUM(R47), 0), D48 = -ISNULL(SUM(R48), 0) '+
				' FROM ROMANEIOS_RESERVAS WHERE PRODUTO = ' + @ASPAS + @PRODUTO + @ASPAS + ' AND FILIAL = ' + @ASPAS + @FILIAL + @ASPAS +
				' GROUP BY ROMANEIOS_RESERVAS.PRODUTO, ROMANEIOS_RESERVAS.COR_PRODUTO, ROMANEIOS_RESERVAS.FILIAL '
		ELSE
			SELECT @SELECT9 = ''

		SELECT @SELECT10 = ' ) A ON A.PRODUTO = B.PRODUTO AND A.COR_PRODUTO = B.COR_PRODUTO WHERE B.PRODUTO = ' + @ASPAS + @PRODUTO + @ASPAS + ' AND B.INDICA_PACK_COR = 1 AND PACK = ' + @ASPAS + @CODIGO_PACK + @ASPAS + ' GROUP BY B.PRODUTO, B.COR_PRODUTO, A.FILIAL '
		INSERT INTO #TMP_ESTOQUE_DISTRIBUICAO EXECUTE (@SELECT1 + @SELECT11 + @SELECT2 + @SELECT3 + @SELECT4 + @SELECT5 + @SELECT6 + @SELECT7 + @SELECT8 + @SELECT9 + @SELECT10)

		/* VERIFICA QTDE DE PACKS POR COR DISPONIVEL */
		DECLARE CUR_QTDE_PACKS CURSOR FOR SELECT COR_PRODUTO, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31, D32, D33, D34, D35, D36, D37, D38, D39, D40, D41, D42, D43, D44, D45, D46, D47, D48 FROM #TMP_ESTOQUE_DISTRIBUICAO WHERE COR_PRODUTO = @COR_PRODUTO
		OPEN CUR_QTDE_PACKS
		SELECT @QTDE_ES = 0, @LOOP = 0, @CONTROLE = 0
		FETCH NEXT FROM CUR_QTDE_PACKS INTO @COR, @D1, @D2, @D3, @D4, @D5, @D6, @D7, @D8, @D9, @D10, @D11, @D12, @D13, @D14, @D15, @D16, @D17, @D18, @D19, @D20, @D21, @D22, @D23, @D24, @D25, @D26, @D27, @D28, @D29, @D30, @D31, @D32, @D33, @D34, @D35, @D36, @D37, @D38, @D39, @D40, @D41, @D42, @D43, @D44, @D45, @D46, @D47, @D48
		WHILE @@FETCH_STATUS = 0
		BEGIN

			SELECT 	@P1  = Q1,  @P2  = Q2,  @P3  = Q3,  @P4  = Q4,  @P5  = Q5,  @P6  = Q6,  @P7  = Q7,  @P8  = Q8,  @P9  = Q9,  @P10 = Q10, @P11 = Q11, @P12 = Q12, @P13 = Q13, @P14 = Q14, @P15 = Q15, @P16 = Q16, @P17 = Q17, @P18 = Q18, @P19 = Q19, @P20 = Q20, @P21 = Q21, @P22 = Q22, @P23 = Q23, @P24 = Q24,
				@P25 = Q25, @P26 = Q26, @P27 = Q27, @P28 = Q28, @P29 = Q29, @P30 = Q30, @P31 = Q31, @P32 = Q32, @P33 = Q33, @P34 = Q34, @P35 = Q35, @P36 = Q36,	@P37 = Q37, @P38 = Q38, @P39 = Q39, @P40 = Q40, @P41 = Q41, @P42 = Q42, @P43 = Q43, @P44 = Q44, @P45 = Q45, @P46 = Q46, @P47 = Q47, @P48 = Q48
				FROM PRODUTOS_PACKS_PERMITIDOS WHERE PRODUTO = @PRODUTO AND COR_PRODUTO = @COR AND INDICA_PACK_COR = 1 AND PACK = @CODIGO_PACK


			SELECT 	@D1  = CASE WHEN @P1  = 0 THEN 0 ELSE @D1  / @P1  END, @D2  = CASE WHEN @P2  = 0 THEN 0 ELSE @D2  / @P2  END, @D3  = CASE WHEN @P3  = 0 THEN 0 ELSE @D3  / @P3  END, @D4  = CASE WHEN @P4  = 0 THEN 0 ELSE @D4  / @P4  END, @D5  = CASE WHEN @P5  = 0 THEN 0 ELSE @D5  / @P5  END, @D6  = CASE WHEN @P6  = 0 THEN 0 ELSE @D6  / @P6  END, @D7  = CASE WHEN @P7  = 0 THEN 0 ELSE @D7  / @P7  END, @D8  = CASE WHEN @P8  = 0 THEN 0 ELSE @D8  / @P8  END, @D9  = CASE WHEN @P9  = 0 THEN 0 ELSE @D9  / @P9  END, @D10 = CASE WHEN @P10 = 0 THEN 0 ELSE @D10 / @P10 END, @D11 = CASE WHEN @P11 = 0 THEN 0 ELSE @D11 / @P11 END, @D12 = CASE WHEN @P12 = 0 THEN 0 ELSE @D12 / @P12 END, @D13 = CASE WHEN @P13 = 0 THEN 0 ELSE @D13 / @P13 END, @D14 = CASE WHEN @P14 = 0 THEN 0 ELSE @D14 / @P14 END, @D15 = CASE WHEN @P15 = 0 THEN 0 ELSE @D15 / @P15 END, @D16 = CASE WHEN @P16 = 0 THEN 0 ELSE @D16 / @P16 END, @D17 = CASE WHEN @P17 = 0 THEN 0 ELSE @D17 / @P17 END, @D18 = CASE WHEN @P18 = 0 THEN 0 ELSE @D18 / @P18 END, @D19 = CASE WHEN @P19 = 0 THEN 0 ELSE @D19 / @P19 END, @D20 = CASE WHEN @P20 = 0 THEN 0 ELSE @D20 / @P20 END, @D21 = CASE WHEN @P21 = 0 THEN 0 ELSE @D21 / @P21 END, @D22 = CASE WHEN @P22 = 0 THEN 0 ELSE @D22 / @P22 END, @D23 = CASE WHEN @P23 = 0 THEN 0 ELSE @D23 / @P23 END, @D24 = CASE WHEN @P24 = 0 THEN 0 ELSE @D24 / @P24 END,
				@D25 = CASE WHEN @P25 = 0 THEN 0 ELSE @D25 / @P25 END, @D26 = CASE WHEN @P26 = 0 THEN 0 ELSE @D26 / @P26 END, @D27 = CASE WHEN @P27 = 0 THEN 0 ELSE @D27 / @P27 END, @D28 = CASE WHEN @P28 = 0 THEN 0 ELSE @D28 / @P28 END, @D29 = CASE WHEN @P29 = 0 THEN 0 ELSE @D29 / @P29 END, @D30 = CASE WHEN @P30 = 0 THEN 0 ELSE @D30 / @P30 END, @D31 = CASE WHEN @P31 = 0 THEN 0 ELSE @D31 / @P31 END, @D32 = CASE WHEN @P32 = 0 THEN 0 ELSE @D32 / @P32 END, @D33 = CASE WHEN @P33 = 0 THEN 0 ELSE @D33 / @P33 END, @D34 = CASE WHEN @P34 = 0 THEN 0 ELSE @D34 / @P34 END, @D35 = CASE WHEN @P35 = 0 THEN 0 ELSE @D35 / @P35 END, @D36 = CASE WHEN @P36 = 0 THEN 0 ELSE @D36 / @P36 END, @D37 = CASE WHEN @P37 = 0 THEN 0 ELSE @D37 / @P37 END, @D38 = CASE WHEN @P38 = 0 THEN 0 ELSE @D38 / @P38 END, @D39 = CASE WHEN @P39 = 0 THEN 0 ELSE @D39 / @P39 END, @D40 = CASE WHEN @P40 = 0 THEN 0 ELSE @D40 / @P40 END, @D41 = CASE WHEN @P41 = 0 THEN 0 ELSE @D41 / @P41 END, @D42 = CASE WHEN @P42 = 0 THEN 0 ELSE @D42 / @P42 END, @D43 = CASE WHEN @P43 = 0 THEN 0 ELSE @D43 / @P43 END, @D44 = CASE WHEN @P44 = 0 THEN 0 ELSE @D44 / @P44 END, @D45 = CASE WHEN @P45 = 0 THEN 0 ELSE @D45 / @P45 END, @D46 = CASE WHEN @P46 = 0 THEN 0 ELSE @D46 / @P46 END, @D47 = CASE WHEN @P47 = 0 THEN 0 ELSE @D47 / @P47 END, @D48 = CASE WHEN @P48 = 0 THEN 0 ELSE @D48 / @P48 END
			SELECT @XCONTA = 1, @QTDE_ES = 0, @QTDE_D = 0, @LOOP = 0


			SELECT @XCONTA = 1, @LOOP = @LOOP + 1
			WHILE @XCONTA <= @NUMERO_TAMANHOS
			BEGIN
				SELECT @QTDE_D  = CASE @XCONTA
				WHEN 1  THEN @D1  WHEN 2  THEN @D2  WHEN 3  THEN @D3  WHEN 4  THEN @D4  WHEN 5  THEN @D5  WHEN 6  THEN @D6  WHEN 7  THEN @D7  WHEN 8  THEN @D8  WHEN 9  THEN @D9  WHEN 10 THEN @D10 WHEN 11 THEN @D11 WHEN 12 THEN @D12 WHEN 13 THEN @D13 WHEN 14 THEN @D14 WHEN 15 THEN @D15 WHEN 16 THEN @D16 WHEN 17 THEN @D17 WHEN 18 THEN @D18 WHEN 19 THEN @D19 WHEN 20 THEN @D20 WHEN 21 THEN @D21 WHEN 22 THEN @D22 WHEN 23 THEN @D23 WHEN 24 THEN @D24
				WHEN 25 THEN @D25 WHEN 26 THEN @D26 WHEN 27 THEN @D27 WHEN 28 THEN @D28 WHEN 29 THEN @D29 WHEN 30 THEN @D30 WHEN 31 THEN @D31 WHEN 32 THEN @D32 WHEN 33 THEN @D33 WHEN 34 THEN @D34 WHEN 35 THEN @D35 WHEN 36 THEN @D36 WHEN 37 THEN @D37 WHEN 38 THEN @D38 WHEN 39 THEN @D39 WHEN 40 THEN @D40 WHEN 41 THEN @D41 WHEN 42 THEN @D42 WHEN 43 THEN @D43 WHEN 44 THEN @D44 WHEN 45 THEN @D45 WHEN 46 THEN @D46 WHEN 47 THEN @D47 WHEN 48 THEN @D48 END

				SELECT @QTDE_P = CASE @XCONTA
				WHEN 1  THEN @P1  WHEN 2  THEN @P2  WHEN 3  THEN @P3  WHEN 4  THEN @P4  WHEN 5  THEN @P5  WHEN 6  THEN @P6  WHEN 7  THEN @P7  WHEN 8  THEN @P8  WHEN 9  THEN @P9  WHEN 10 THEN @P10 WHEN 11 THEN @P11 WHEN 12 THEN @P12 WHEN 13 THEN @P13 WHEN 14 THEN @P14 WHEN 15 THEN @P15 WHEN 16 THEN @P16 WHEN 17 THEN @P17 WHEN 18 THEN @P18 WHEN 19 THEN @P19 WHEN 20 THEN @P20 WHEN 21 THEN @P21 WHEN 22 THEN @P22 WHEN 23 THEN @P23 WHEN 24 THEN @P24
				WHEN 25 THEN @P25 WHEN 26 THEN @P26 WHEN 27 THEN @P27 WHEN 28 THEN @P28 WHEN 29 THEN @P29 WHEN 30 THEN @P30 WHEN 31 THEN @P31 WHEN 32 THEN @P32 WHEN 33 THEN @P33 WHEN 34 THEN @P34 WHEN 35 THEN @P35 WHEN 36 THEN @P36 WHEN 37 THEN @P37 WHEN 38 THEN @P38 WHEN 39 THEN @P39 WHEN 40 THEN @P40 WHEN 41 THEN @P41 WHEN 42 THEN @P42 WHEN 43 THEN @P43 WHEN 44 THEN @P44 WHEN 45 THEN @P45 WHEN 46 THEN @P46 WHEN 47 THEN @P47 WHEN 48 THEN @P48 END
		
				IF (@QTDE_ES > @QTDE_D AND (@QTDE_D > 0 AND @QTDE_P > 0)) OR (@QTDE_D = 0 AND @QTDE_P > 0) OR (@XCONTA = 1 AND @QTDE_ES = 0 AND @LOOP = 1) OR @CONTROLE = 0
					SELECT @QTDE_ES = @QTDE_D

				SELECT @XCONTA = @XCONTA + 1, @CONTROLE = @CONTROLE + CASE WHEN @QTDE_P > 0 THEN 1 ELSE 0 END
			END
			FETCH NEXT FROM CUR_QTDE_PACKS INTO @COR, @D1, @D2, @D3, @D4, @D5, @D6, @D7, @D8, @D9, @D10, @D11, @D12, @D13, @D14, @D15, @D16, @D17, @D18, @D19, @D20, @D21, @D22, @D23, @D24, @D25, @D26, @D27, @D28, @D29, @D30, @D31, @D32, @D33, @D34, @D35, @D36, @D37, @D38, @D39, @D40, @D41, @D42, @D43, @D44, @D45, @D46, @D47, @D48			
		END
		CLOSE CUR_QTDE_PACKS
		DEALLOCATE CUR_QTDE_PACKS
		SELECT @QTDE_D = @QTDE_ES
		IF @QTDE_D = 0
		BEGIN
			SELECT @STATUS = 'F'
			UPDATE ROMANEIOS_PRODUTO SET STATUS = @STATUS, FILTROS_PROCESSO = 'PROCESSO AUTOMATICO DE DISTRIBUIÇÃO. ' WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO
			FETCH NEXT FROM CURSOR_PRODUTOS_50_new INTO @PRODUTO, @ORDEM_PRODUCAO, @COR_PRODUTO, @PROGRAMACAO, @NUMERO_TAMANHOS
			CONTINUE	
		END

		/* VERIFICA SE TODOS OS ITENS DO PACK (PRODUTO + COR) ESTÃO NA TABELA ROMANEIOS_PRODUTO */
		SELECT @XCONTA = COUNT(*) FROM #TMP_ESTOQUE_DISTRIBUICAO WHERE COR_PRODUTO = @COR_PRODUTO
		SELECT @QTDE_ES = COUNT(*) FROM #TMP_ESTOQUE_DISTRIBUICAO JOIN ROMANEIOS_PRODUTO ON #TMP_ESTOQUE_DISTRIBUICAO.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO
		AND #TMP_ESTOQUE_DISTRIBUICAO.COR_PRODUTO = ROMANEIOS_PRODUTO.COR_PRODUTO
		WHERE ROMANEIOS_PRODUTO.ROMANEIO = @ROMANEIO AND ROMANEIOS_PRODUTO.FILIAL = @FILIAL AND 
			  #TMP_ESTOQUE_DISTRIBUICAO.COR_PRODUTO = @COR_PRODUTO

		IF @QTDE_ES <> @XCONTA
		BEGIN
	
			SELECT @STATUS = 'C'
			UPDATE ROMANEIOS_PRODUTO SET STATUS = @STATUS, FILTROS_PROCESSO = 'PROCESSO AUTOMATICO DE DISTRIBUIÇÃO. ' WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO
			SELECT @PRODUTO_OLD = @PRODUTO

			FETCH NEXT FROM CURSOR_PRODUTOS_50_new INTO @PRODUTO, @ORDEM_PRODUCAO, @COR_PRODUTO, @PROGRAMACAO, @NUMERO_TAMANHOS
			CONTINUE	
		END

		/* TRAZ FILIAS E PORCENTAGENS PARA DISTRIBUIR */	
		DECLARE CURSOR_ITENS SCROLL CURSOR FOR 
		SELECT DISTINCT ROMANEIOS_PRODUTO.PRODUTO, ROMANEIOS_PRODUTO.COR_PRODUTO, CLIENTES_ATACADO.CLIENTE_ATACADO, 
						PORCENTAGEM_QTDE, PRODUTOS.PONTEIRO_PRECO_TAM, PRODUTOS.VARIA_PRECO_TAM, PRODUTOS.VARIA_PRECO_COR, 
						CLIENTES_ATACADO.TRANSP_REDESPACHO, ISNULL(CLIENTES_ATACADO.TRANSPORTADORA, @TRANSPORTADORA) AS TRANSPORTADORA_CLIENTE  
		FROM ROMANEIOS_PRODUTO  JOIN PRODUTOS ON ROMANEIOS_PRODUTO.PRODUTO = PRODUTOS.PRODUTO 
		JOIN PRODUTO_CORES ON ROMANEIOS_PRODUTO.PRODUTO = PRODUTO_CORES.PRODUTO AND ROMANEIOS_PRODUTO.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO 
		JOIN GIV_DISTRIBUICAO_PORCENTAGEM ON COD_PLANEJAMENTO = @COD_PLANEJAMENTO AND COD_AGRUPAMENTO = @COD_AGRUPAMENTO 
		JOIN GIV_AGRUPAMENTO_PRODUTO ON GIV_DISTRIBUICAO_PORCENTAGEM.COD_AGRUPAMENTO = GIV_AGRUPAMENTO_PRODUTO.COD_AGRUPAMENTO AND GIV_DISTRIBUICAO_PORCENTAGEM.ID_AGRUPAMENTO = GIV_AGRUPAMENTO_PRODUTO.ID_AGRUPAMENTO AND ROMANEIOS_PRODUTO.PRODUTO = GIV_AGRUPAMENTO_PRODUTO.PRODUTO 
		JOIN GIV_AGRUPAMENTO ON GIV_AGRUPAMENTO_PRODUTO.COD_AGRUPAMENTO = GIV_AGRUPAMENTO.COD_AGRUPAMENTO AND GIV_AGRUPAMENTO_PRODUTO.ID_AGRUPAMENTO = GIV_AGRUPAMENTO.ID_AGRUPAMENTO AND GIV_AGRUPAMENTO.AGRUPAMENTO_DISTRIBUICAO = 1  
		JOIN CLIENTES_ATACADO ON GIV_DISTRIBUICAO_PORCENTAGEM.COD_CLIFOR = CLIENTES_ATACADO.COD_CLIENTE
		WHERE ROMANEIOS_PRODUTO.ROMANEIO = @ROMANEIO AND ROMANEIOS_PRODUTO.FILIAL = @FILIAL AND ROMANEIOS_PRODUTO.PRODUTO = @PRODUTO AND ROMANEIOS_PRODUTO.COR_PRODUTO = @COR_PRODUTO
		AND (@UTILIZAR_GRADE_MINIMA = 1 OR GIV_DISTRIBUICAO_PORCENTAGEM.PORCENTAGEM_QTDE > 0)
		ORDER BY PORCENTAGEM_QTDE DESC

		OPEN CURSOR_ITENS
		FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE 

		IF @@FETCH_STATUS <> 0
		BEGIN
		
			SELECT @STATUS = 'D'
			UPDATE ROMANEIOS_PRODUTO SET STATUS = @STATUS, FILTROS_PROCESSO = 'PROCESSO AUTOMATICO DE DISTRIBUIÇÃO. ' WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO
			SELECT @PRODUTO_OLD = @PRODUTO
			FETCH NEXT FROM CURSOR_PRODUTOS_50_new INTO @PRODUTO, @ORDEM_PRODUCAO, @COR_PRODUTO, @PROGRAMACAO, @NUMERO_TAMANHOS
			CONTINUE	
		END
		
		/*AJUSTANDO GRADE MÍNIMA*/
		IF @UTILIZAR_GRADE_MINIMA = 1
		BEGIN

			FETCH LAST FROM CURSOR_ITENS    INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE
			SELECT @QTDE_FILIAIS = @@CURSOR_ROWS
			FETCH FIRST  FROM CURSOR_ITENS  INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE
	
			SELECT @GRADE_MINIMA = 1 --UM PACK INDICA A GRADE MÍNIMA
			SELECT 	@QTDE_ES = (@QTDE_ES - @QTDE_FILIAIS*@GRADE_MINIMA)

			IF (@QTDE_ES < 0) 
			BEGIN		
					SELECT  @ERRNO  = 30002, @ERRMSG = 'A grade mínima não foi atingida. Verifique !!!'
					GOTO ERROR
			END

		END
		/*------------*/

		WHILE @@FETCH_STATUS = 0
		BEGIN

			IF @FILIALI IS NULL
			BEGIN
				SELECT @STATUS = 'D'
				FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE				
				CONTINUE
			END
			/* VERIFICA SE UTILIZA TABELA DE PRECO DO CLIENTE OU DO PARAMETRO */
			IF @TAB_PRECO_CLIENTE = 1
			BEGIN
				SELECT @TABELA = CODIGO_TAB_PRECO FROM CLIENTES_ATACADO WHERE CLIENTE_ATACADO = @FILIALI
				IF @TABELA IS NULL
					SELECT @TABELA = @TAB_PRECO
			END
			ELSE
			SELECT @TABELA = @TAB_PRECO
			
			--SELECT @QTDE_P = ROUND((@QTDE_ES * @PORCENTAGEMI / 100), 0)

			SELECT @QTDE_P = ROUND((@QTDE_D * @PORCENTAGEMI / 100), 0)

			--AJUSTANDO GRADE MÍNIMA
			IF @UTILIZAR_GRADE_MINIMA = 1
				SELECT  @QTDE_P = @QTDE_P + @GRADE_MINIMA
			SELECT @QTDE_P = CASE WHEN @QTDE_P > @QTDE_D THEN @QTDE_D ELSE @QTDE_P END


			SELECT @QTDE_D = @QTDE_D - @QTDE_P
			SELECT @PEDIDO = NULL
			SELECT @PEDIDO = PEDIDO FROM VENDAS WHERE ROMANEIO = @ROMANEIO AND CLIENTE_ATACADO = @FILIALI
			IF @PEDIDO IS NULL OR @@ROWCOUNT = 0
			BEGIN
				IF @MANTER_ITEM_ZERADO = 0 AND @QTDE_P = 0
				BEGIN
					FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE				
					CONTINUE
				END
				EXEC LX_SEQUENCIAL 'VENDAS.PEDIDO', NULL, @PEDIDO OUTPUT  
				INSERT INTO VENDAS (PEDIDO, ROMANEIO, COLECAO, CODIGO_TAB_PRECO, TIPO, CONDICAO_PGTO, FILIAL, CLIENTE_ATACADO, NOME_CLIFOR_ENTREGA, TRANSPORTADORA, MOEDA, REPRESENTANTE, GERENTE, COMISSAO, COMISSAO_GERENTE, PORCENTAGEM_ACERTO, EMISSAO, CADASTRAMENTO, TOT_QTDE_ORIGINAL, TOT_QTDE_ENTREGAR, TOT_VALOR_ORIGINAL, TOT_VALOR_ENTREGAR, DESCONTO, ENCARGO, VALOR_IPI, TABELA_FILHA, OBS, APROVACAO, DESCONTO_SOBRE_1, DESCONTO_SOBRE_2, DESCONTO_SOBRE_3, DESCONTO_SOBRE_4, PORC_DESCONTO_DIGITADO, PORC_DESCONTO_COND_PGTO, PORC_ENCARGO, DESCONTO_COND_PGTO, PORC_DESCONTO, ACEITA_PECAS_PEQUENAS, ACEITA_PECAS_COM_CORTE, INDICADOR_VENDA, FILIAL_DIGITACAO  , TIPO_CAIXA, TIPO_FRETE, ENTREGA_CIF, TRANSP_REDESPACHO)
					     VALUES(@PEDIDO, @ROMANEIO, @COLECAO, @TABELA, @TIPO_VENDA, @COND_PGTO, @FILIAL, @FILIALI, @FILIALI, CASE WHEN @UITILIZA_TRANSP_CLIENTE=1 THEN @TRANSPORTADORA_CLIENTE ELSE @TRANSPORTADORA END, @MOEDA, @REPRESENTANTE, @GERENTE, @COMISSAO, @COMISSAO_GERENTE, @PORC_ACERTO, CONVERT(VARCHAR(8), GETDATE(), 112), CONVERT(VARCHAR(8), GETDATE(), 112), 0, 0, 0, 0, 0, 0, 0, 'VENDAS_PRODUTO', 'PEDIDO GERADO PELO PROCESSO DE GERACAO DE DISTRIBUICAO. ROMANEIO NO. ' + @ROMANEIO, 'E', 0, 0, 0, 0, 1, @DESCONTO_COND_PGTO, @ENCARGO, 0, 0, 100, 100, 'D', @FILIAL, @TIPO_CAIXA, @TIPO_FRETE, @ENTREGA_CIF, CASE WHEN @UITILIZA_TRANSP_CLIENTE=1 THEN @TRANSP_REDESPACHO ELSE @TRANSPORTADORA END)

				IF @@ROWCOUNT = 0 
				BEGIN
					SELECT  @ERRNO  = 30002,
						@ERRMSG = 'PROBLEMA NO INSERT EM VENDAS !!!'
					GOTO ERROR
				END
			END
			ELSE
			BEGIN
				SELECT @XCONTA = COUNT(*) FROM VENDAS WHERE PEDIDO = @PEDIDO AND (PORC_DESCONTO_COND_PGTO <> @DESCONTO_COND_PGTO OR PORC_ENCARGO <> @ENCARGO OR CONDICAO_PGTO <> @COND_PGTO OR CODIGO_TAB_PRECO <> @TABELA)
				IF @XCONTA = 1
				BEGIN
					UPDATE VENDAS SET PORC_DESCONTO_COND_PGTO = @DESCONTO_COND_PGTO, PORC_ENCARGO = @ENCARGO, CONDICAO_PGTO = @COND_PGTO, CODIGO_TAB_PRECO = @TABELA WHERE PEDIDO = @PEDIDO
					IF @@ROWCOUNT = 0 
					BEGIN	
						SELECT  @ERRNO  = 30002,
							@ERRMSG = 'PROBLEMA NO UPDATE EM VENDAS !!!'
						GOTO ERROR
					END
				END

				IF @MANTER_ITEM_ZERADO = 0 AND @QTDE_P = 0
				BEGIN
					DELETE FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTOI
					SELECT @TOT_VALOR = SUM(VALOR_ORIGINAL), @TOT_QTDE = SUM(QTDE_ORIGINAL) FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO
					FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE
					CONTINUE
				END
			END
			/* VERIFICA SE EXISTE O PRODUTO NO PEDIDO DE VENDAS */
			/* SE EXISTE APAGA */
			IF EXISTS (SELECT * FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI)
				DELETE FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI

			/* EXCLUI REGISTROS EM ROMANEIOS_RESERVAS */
			IF EXISTS (SELECT * FROM ROMANEIOS_RESERVAS WHERE PRODUTO = @PRODUTOI AND ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PEDIDO = @PEDIDO AND COR_PRODUTO = @CORI)
				DELETE FROM ROMANEIOS_RESERVAS WHERE PRODUTO = @PRODUTOI AND ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PEDIDO = @PEDIDO AND COR_PRODUTO = @CORI
		
		
			IF @VARIA_PRECO_COR = 0
			BEGIN
				SELECT @PRECO1 = PRECO1, @PRECO2 = PRECO2, @PRECO3 = PRECO3, @PRECO4 = PRECO4 FROM PRODUTOS_PRECOS WHERE CODIGO_TAB_PRECO = @TABELA AND PRODUTO = @PRODUTO
			END
			ELSE
			BEGIN
				SELECT @PRECO1 = PRECO1, @PRECO2 = PRECO2, @PRECO3 = PRECO3, @PRECO4 = PRECO4 FROM PRODUTOS_PRECO_COR WHERE CODIGO_TAB_PRECO = @TABELA AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO
			END
				
			IF @INCIDE_SOBRE_PRECO = 1
				SELECT 	@PRECO1 = (@PRECO1 - ROUND(@PRECO1 * (@DESCONTO_ITEM / 100), 2)),
					@PRECO2 = (@PRECO2 - ROUND(@PRECO2 * (@DESCONTO_ITEM / 100), 2)),
					@PRECO3 = (@PRECO3 - ROUND(@PRECO3 * (@DESCONTO_ITEM / 100), 2)),
					@PRECO4 = (@PRECO4 - ROUND(@PRECO4 * (@DESCONTO_ITEM / 100), 2)),
					@DESCONTO_I = 0
			ELSE
				IF  @VARIA_PRECO_TAM = 0
					SELECT @DESCONTO_I = ROUND(@PRECO1 * (@DESCONTO_ITEM / 100), 2)
				ELSE
				BEGIN
					SELECT 	@DESCONTO_I = 0, @XCONTA = 0
					SELECT 	@DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO1 > 0 THEN (@PRECO1 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
						@XCONTA = @XCONTA + CASE WHEN @PRECO1 > 0 THEN 1 ELSE 0 END
					SELECT  @DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO2 > 0 THEN (@PRECO2 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
						@XCONTA = @XCONTA + CASE WHEN @PRECO2 > 0 THEN 1 ELSE 0 END
					SELECT  @DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO3 > 0 THEN (@PRECO3 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
						@XCONTA = @XCONTA + CASE WHEN @PRECO3 > 0 THEN 1 ELSE 0 END
					SELECT	@DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO4 > 0 THEN (@PRECO4 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
						@XCONTA = @XCONTA + CASE WHEN @PRECO4 > 0 THEN 1 ELSE 0 END
					SELECT  @DESCONTO_I = ROUND(@DESCONTO_I / CASE WHEN @XCONTA = 0 THEN 1 ELSE @XCONTA END, 2)
				END		


				INSERT INTO VENDAS_PRODUTO (PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO, LIMITE_ENTREGA, QTDE_ORIGINAL, QTDE_ENTREGAR, DESCONTO_ITEM, 
							VO1,  VO2,  VO3,  VO4,  VO5,  VO6,  VO7,  VO8,  VO9,  VO10, VO11, VO12, VO13, VO14, VO15, VO16, VO17, VO18, VO19, VO20, VO21, VO22, VO23, VO24, VO25, VO26, VO27, VO28, VO29, VO30, VO31, VO32, VO33, VO34, VO35, VO36, VO37, VO38, VO39, VO40, VO41, VO42, VO43, VO44, VO45, VO46, VO47, VO48,
							VE1,  VE2,  VE3,  VE4,  VE5,  VE6,  VE7,  VE8,  VE9,  VE10, VE11, VE12, VE13, VE14, VE15, VE16, VE17, VE18, VE19, VE20, VE21, VE22, VE23, VE24,	VE25, VE26, VE27, VE28, VE29, VE30, VE31, VE32, VE33, VE34, VE35, VE36, VE37, VE38, VE39, VE40, VE41, VE42, VE43, VE44, VE45, VE46, VE47, VE48,
							PRECO1, PRECO2, PRECO3, PRECO4, PACKS)
				SELECT @PEDIDO, A.PRODUTO, A.COR_PRODUTO, @DATA, '0000', @DATA, (QTDE * @QTDE_P),(QTDE * @QTDE_P), @DESCONTO_I,
					(Q1  * @QTDE_P), (Q2  * @QTDE_P), (Q3  * @QTDE_P), (Q4  * @QTDE_P), (Q5  * @QTDE_P), (Q6  * @QTDE_P), (Q7  * @QTDE_P), (Q8  * @QTDE_P), (Q9  * @QTDE_P), (Q10 * @QTDE_P), (Q11 * @QTDE_P), (Q12 * @QTDE_P), (Q13 * @QTDE_P), (Q14 * @QTDE_P), (Q15 * @QTDE_P), (Q16 * @QTDE_P), (Q17 * @QTDE_P), (Q18 * @QTDE_P), (Q19 * @QTDE_P), (Q20 * @QTDE_P), (Q21 * @QTDE_P), (Q22 * @QTDE_P), (Q23 * @QTDE_P), (Q24 * @QTDE_P), 
					(Q25 * @QTDE_P), (Q26 * @QTDE_P), (Q27 * @QTDE_P), (Q28 * @QTDE_P), (Q29 * @QTDE_P), (Q30 * @QTDE_P), (Q31 * @QTDE_P), (Q32 * @QTDE_P), (Q33 * @QTDE_P), (Q34 * @QTDE_P), (Q35 * @QTDE_P), (Q36 * @QTDE_P), (Q37 * @QTDE_P), (Q38 * @QTDE_P), (Q39 * @QTDE_P), (Q40 * @QTDE_P), (Q41 * @QTDE_P), (Q42 * @QTDE_P), (Q43 * @QTDE_P), (Q44 * @QTDE_P), (Q45 * @QTDE_P), (Q46 * @QTDE_P), (Q47 * @QTDE_P), (Q48 * @QTDE_P), 
					(Q1  * @QTDE_P), (Q2  * @QTDE_P), (Q3  * @QTDE_P), (Q4  * @QTDE_P), (Q5  * @QTDE_P), (Q6  * @QTDE_P), (Q7  * @QTDE_P), (Q8  * @QTDE_P), (Q9  * @QTDE_P), (Q10 * @QTDE_P), (Q11 * @QTDE_P), (Q12 * @QTDE_P), (Q13 * @QTDE_P), (Q14 * @QTDE_P), (Q15 * @QTDE_P), (Q16 * @QTDE_P), (Q17 * @QTDE_P), (Q18 * @QTDE_P), (Q19 * @QTDE_P), (Q20 * @QTDE_P), (Q21 * @QTDE_P), (Q22 * @QTDE_P), (Q23 * @QTDE_P), (Q24 * @QTDE_P), 
					(Q25 * @QTDE_P), (Q26 * @QTDE_P), (Q27 * @QTDE_P), (Q28 * @QTDE_P), (Q29 * @QTDE_P), (Q30 * @QTDE_P), (Q31 * @QTDE_P), (Q32 * @QTDE_P), (Q33 * @QTDE_P), (Q34 * @QTDE_P), (Q35 * @QTDE_P), (Q36 * @QTDE_P), (Q37 * @QTDE_P), (Q38 * @QTDE_P), (Q39 * @QTDE_P), (Q40 * @QTDE_P), (Q41 * @QTDE_P), (Q42 * @QTDE_P), (Q43 * @QTDE_P), (Q44 * @QTDE_P), (Q45 * @QTDE_P), (Q46 * @QTDE_P), (Q47 * @QTDE_P), (Q48 * @QTDE_P), 
					@PRECO1, @PRECO2, @PRECO3,@PRECO4, CASE WHEN @QTDE_P >0 THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(RTRIM(LTRIM(STR(@QTDE_P, 2, 0))), 3, ' ') ELSE '' END
					FROM (PRODUTOS_PACKS_PERMITIDOS A LEFT JOIN PRODUTOS_PRECOS B ON A.PRODUTO = B.PRODUTO AND B.CODIGO_TAB_PRECO = @TABELA) JOIN PRODUTOS C ON A.PRODUTO = C.PRODUTO
					WHERE A.PRODUTO = @PRODUTO AND INDICA_PACK_COR = 1 AND PACK = DBO.FX_PADR(@CODIGO_PACK, 2, ' ') AND A.COR_PRODUTO = @CORI

				/* INCLUI REGISTROS EM ROMANEIOS_RESERVAS */
				INSERT INTO ROMANEIOS_RESERVAS (ROMANEIO, FILIAL, PEDIDO, PRODUTO, COR_PRODUTO, COR_PEDIDO, ENTREGA, ITEM_PEDIDO, QTDE_R, VALOR_R,
					R1,  R2,  R3,  R4,  R5,  R6,  R7,  R8,  R9,  R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24,
					R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39, R40 ,R41, R42, R43, R44, R45, R46, R47, R48, PACKS)
				SELECT @ROMANEIO, @FILIAL, @PEDIDO, A.PRODUTO, A.COR_PRODUTO, A.COR_PRODUTO, @DATA, '0000', (QTDE * @QTDE_P),
					(Q1  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 1,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q2  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 2,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q3  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 3,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q4  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 4,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q5  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 5,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q6  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 6,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
					(Q7  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 7,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q8  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 8,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q9  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 9,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q10 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 10, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q11 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 11, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q12 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 12, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  +
					(Q13 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 13, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q14 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 14, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q15 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 15, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q16 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 16, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q17 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 17, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q18 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 18, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
					(Q19 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 19, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q20 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 20, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q21 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 21, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q22 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 22, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q23 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 23, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q24 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 24, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  +
					(Q25 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 25, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q26 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 26, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q27 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 27, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q28 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 28, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q29 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 29, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q30 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 30, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
					(Q31 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 31, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q32 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 32, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q33 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 33, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q34 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 34, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q35 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 35, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q36 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 36, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  +
					(Q37 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 37, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q38 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 38, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q39 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 39, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q40 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 40, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q41 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 41, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q42 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 42, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
					(Q43 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 43, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q44 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 44, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q45 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 45, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q46 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 46, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q47 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 47, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q48 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 48, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I) ,
					(Q1  * @QTDE_P), (Q2  * @QTDE_P), (Q3  * @QTDE_P), (Q4  * @QTDE_P), (Q5  * @QTDE_P), (Q6  * @QTDE_P), (Q7  * @QTDE_P), (Q8  * @QTDE_P), (Q9  * @QTDE_P), (Q10 * @QTDE_P), (Q11 * @QTDE_P), (Q12 * @QTDE_P), (Q13 * @QTDE_P), (Q14 * @QTDE_P), (Q15 * @QTDE_P), (Q16 * @QTDE_P), (Q17 * @QTDE_P), (Q18 * @QTDE_P), (Q19 * @QTDE_P), (Q20 * @QTDE_P), (Q21 * @QTDE_P), (Q22 * @QTDE_P), (Q23 * @QTDE_P), (Q24 * @QTDE_P), 
					(Q25 * @QTDE_P), (Q26 * @QTDE_P), (Q27 * @QTDE_P), (Q28 * @QTDE_P), (Q29 * @QTDE_P), (Q30 * @QTDE_P), (Q31 * @QTDE_P), (Q32 * @QTDE_P), (Q33 * @QTDE_P), (Q34 * @QTDE_P), (Q35 * @QTDE_P), (Q36 * @QTDE_P), (Q37 * @QTDE_P), (Q38 * @QTDE_P), (Q39 * @QTDE_P), (Q40 * @QTDE_P), (Q41 * @QTDE_P), (Q42 * @QTDE_P), (Q43 * @QTDE_P), (Q44 * @QTDE_P), (Q45 * @QTDE_P), (Q46 * @QTDE_P), (Q47 * @QTDE_P), (Q48 * @QTDE_P),
					CASE WHEN @QTDE_P >0 THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(RTRIM(LTRIM(STR(@QTDE_P, 2, 0))), 3, ' ') ELSE '' END 
					FROM PRODUTOS_PACKS_PERMITIDOS A LEFT JOIN PRODUTOS_PRECOS B ON A.PRODUTO = B.PRODUTO AND B.CODIGO_TAB_PRECO = @TABELA  JOIN PRODUTOS C ON A.PRODUTO = C.PRODUTO 
					WHERE A.PRODUTO = @PRODUTO AND INDICA_PACK_COR = 1 AND PACK = DBO.FX_PADR(@CODIGO_PACK, 2, ' ') AND A.COR_PRODUTO = @CORI

			/*END*/
			/* ATUALIZA PEDIDO DE VENDAS */
			SELECT @TOT_VALOR = SUM(VALOR_ORIGINAL), @TOT_QTDE = SUM(QTDE_ORIGINAL) FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO
				    
			IF @STATUS <> 'D' AND @STATUS <> 'F'
				SELECT @STATUS = 'P'
			
			FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE
		END

		WHILE @QTDE_D > 0
		BEGIN

			FETCH FIRST FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE 
			WHILE @@FETCH_STATUS = 0
			BEGIN
				SELECT @QTDE_P = 1, @QTDE_D = @QTDE_D - 1

				/* VERIFICA SE GEROU PEDIDO */
				SELECT @PEDIDO = PEDIDO FROM VENDAS WHERE ROMANEIO = @ROMANEIO AND CLIENTE_ATACADO = @FILIALI
				IF @PEDIDO IS NULL OR @@ROWCOUNT = 0
				BEGIN
					EXEC LX_SEQUENCIAL 'VENDAS.PEDIDO', NULL, @PEDIDO OUTPUT  
					INSERT INTO VENDAS (PEDIDO, ROMANEIO, COLECAO, CODIGO_TAB_PRECO, TIPO, CONDICAO_PGTO, FILIAL, CLIENTE_ATACADO, NOME_CLIFOR_ENTREGA, TRANSPORTADORA, MOEDA, REPRESENTANTE, GERENTE, COMISSAO, COMISSAO_GERENTE, PORCENTAGEM_ACERTO, EMISSAO, CADASTRAMENTO, TOT_QTDE_ORIGINAL, TOT_QTDE_ENTREGAR, TOT_VALOR_ORIGINAL, TOT_VALOR_ENTREGAR, DESCONTO, ENCARGO, VALOR_IPI, TABELA_FILHA, OBS, APROVACAO, DESCONTO_SOBRE_1, DESCONTO_SOBRE_2, DESCONTO_SOBRE_3, DESCONTO_SOBRE_4, PORC_DESCONTO_DIGITADO, PORC_DESCONTO_COND_PGTO, PORC_ENCARGO, DESCONTO_COND_PGTO, PORC_DESCONTO, ACEITA_PECAS_PEQUENAS, ACEITA_PECAS_COM_CORTE, INDICADOR_VENDA, FILIAL_DIGITACAO  , TIPO_CAIXA, TIPO_FRETE, ENTREGA_CIF, TRANSP_REDESPACHO)
						     VALUES(@PEDIDO, @ROMANEIO, @COLECAO, @TABELA, @TIPO_VENDA, @COND_PGTO, @FILIAL, @FILIALI, @FILIALI, CASE WHEN @UITILIZA_TRANSP_CLIENTE=1 THEN @TRANSPORTADORA_CLIENTE ELSE @TRANSPORTADORA END, @MOEDA, @REPRESENTANTE, @GERENTE, @COMISSAO, @COMISSAO_GERENTE, @PORC_ACERTO, CONVERT(VARCHAR(8), GETDATE(), 112), CONVERT(VARCHAR(8), GETDATE(), 112), 0, 0, 0, 0, 0, 0, 0, 'VENDAS_PRODUTO', 'PEDIDO GERADO PELO PROCESSO DE GERACAO DE DISTRIBUICAO. ROMANEIO NO. ' + @ROMANEIO, 'E', 0, 0, 0, 0, 1, @DESCONTO_COND_PGTO, @ENCARGO, 0, 0, 100, 100, 'D', @FILIAL, @TIPO_CAIXA, @TIPO_FRETE, @ENTREGA_CIF, CASE WHEN @UITILIZA_TRANSP_CLIENTE=1 THEN @TRANSP_REDESPACHO ELSE @TRANSPORTADORA END)
					IF @@ROWCOUNT = 0 
					BEGIN
						SELECT  @ERRNO  = 30002,
							@ERRMSG = 'PROBLEMA NO INSERT EM VENDAS !!!'
						GOTO ERROR
					END
				END
				ELSE
				BEGIN
					SELECT @XCONTA = COUNT(*) FROM VENDAS WHERE PEDIDO = @PEDIDO AND (PORC_DESCONTO_COND_PGTO <> @DESCONTO_COND_PGTO OR PORC_ENCARGO <> @ENCARGO OR CONDICAO_PGTO <> @COND_PGTO OR CODIGO_TAB_PRECO <> @TABELA)
					IF @XCONTA = 1
					BEGIN
						UPDATE VENDAS SET PORC_DESCONTO_COND_PGTO = @DESCONTO_COND_PGTO, PORC_ENCARGO = @ENCARGO, CONDICAO_PGTO = @COND_PGTO, CODIGO_TAB_PRECO = @TABELA WHERE PEDIDO = @PEDIDO
						IF @@ROWCOUNT = 0 
						BEGIN	
							SELECT  @ERRNO  = 30002,
								@ERRMSG = 'PROBLEMA NO UPDATE EM VENDAS !!!'
							GOTO ERROR
						END
					END
				END
				
				/* VERIFICA SE ITENS JA EXISTEM PARA FAZER INSERT OU UPDATE */
				IF NOT EXISTS (SELECT * FROM VENDAS_PRODUTO WHERE PRODUTO = @PRODUTOI AND PEDIDO = @PEDIDO AND COR_PRODUTO = @CORI)
				BEGIN
					IF @VARIA_PRECO_COR = 1
					BEGIN
						DECLARE CURSOR_PACK CURSOR FOR SELECT COR_PRODUTO FROM PRODUTOS_PACKS_PERMITIDOS WHERE PRODUTO = @PRODUTO AND INDICA_PACK_COR = 1 AND PACK = @CODIGO_PACK
						OPEN CURSOR_PACK
						FETCH NEXT FROM CURSOR_PACK INTO @COR_PACK
						WHILE @@FETCH_STATUS = 0
						BEGIN
							SELECT @PRECO1 = PRECO1, @PRECO2 = PRECO2, @PRECO3 = PRECO3, @PRECO4 = PRECO4 FROM PRODUTOS_PRECO_COR WHERE CODIGO_TAB_PRECO = @TABELA AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PACK
							IF @INCIDE_SOBRE_PRECO = 1
								SELECT 	@PRECO1 = (@PRECO1 - ROUND(@PRECO1 * (@DESCONTO_ITEM / 100), 2)),
									@PRECO2 = (@PRECO2 - ROUND(@PRECO2 * (@DESCONTO_ITEM / 100), 2)),
									@PRECO3 = (@PRECO3 - ROUND(@PRECO3 * (@DESCONTO_ITEM / 100), 2)),
									@PRECO4 = (@PRECO4 - ROUND(@PRECO4 * (@DESCONTO_ITEM / 100), 2)),
									@DESCONTO_I = 0
							ELSE
								IF  @VARIA_PRECO_TAM = 0
									SELECT @DESCONTO_I = ROUND(@PRECO1 * (@DESCONTO_ITEM / 100), 2)
								ELSE
								BEGIN
									SELECT 	@DESCONTO_I = 0, @XCONTA = 0
									SELECT 	@DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO1 > 0 THEN (@PRECO1 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
										@XCONTA = @XCONTA + CASE WHEN @PRECO1 > 0 THEN 1 ELSE 0 END
									SELECT  @DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO2 > 0 THEN (@PRECO2 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
										@XCONTA = @XCONTA + CASE WHEN @PRECO2 > 0 THEN 1 ELSE 0 END
									SELECT  @DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO3 > 0 THEN (@PRECO3 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
										@XCONTA = @XCONTA + CASE WHEN @PRECO3 > 0 THEN 1 ELSE 0 END
									SELECT	@DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO4 > 0 THEN (@PRECO4 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
										@XCONTA = @XCONTA + CASE WHEN @PRECO4 > 0 THEN 1 ELSE 0 END
									SELECT  @DESCONTO_I = ROUND(@DESCONTO_I / CASE WHEN @XCONTA = 0 THEN 1 ELSE @XCONTA END, 2)
								END		

								INSERT INTO VENDAS_PRODUTO (PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO, LIMITE_ENTREGA, QTDE_ORIGINAL, QTDE_ENTREGAR, DESCONTO_ITEM, 
											VO1,  VO2,  VO3,  VO4,  VO5,  VO6,  VO7,  VO8,  VO9,  VO10, VO11, VO12, VO13, VO14, VO15, VO16, VO17, VO18, VO19, VO20, VO21, VO22, VO23, VO24, VO25, VO26, VO27, VO28, VO29, VO30, VO31, VO32, VO33, VO34, VO35, VO36, VO37, VO38, VO39, VO40, VO41, VO42, VO43, VO44, VO45, VO46, VO47, VO48,
											VE1,  VE2,  VE3,  VE4,  VE5,  VE6,  VE7,  VE8,  VE9,  VE10, VE11, VE12, VE13, VE14, VE15, VE16, VE17, VE18, VE19, VE20, VE21, VE22, VE23, VE24,	VE25, VE26, VE27, VE28, VE29, VE30, VE31, VE32, VE33, VE34, VE35, VE36, VE37, VE38, VE39, VE40, VE41, VE42, VE43, VE44, VE45, VE46, VE47, VE48,
											PRECO1, PRECO2, PRECO3, PRECO4, PACKS)
								SELECT @PEDIDO, A.PRODUTO, A.COR_PRODUTO, @DATA, '0000', @DATA, (QTDE * @QTDE_P),(QTDE * @QTDE_P), @DESCONTO_I,
									(Q1  * @QTDE_P), (Q2  * @QTDE_P), (Q3  * @QTDE_P), (Q4  * @QTDE_P), (Q5  * @QTDE_P), (Q6  * @QTDE_P), (Q7  * @QTDE_P), (Q8  * @QTDE_P), (Q9  * @QTDE_P), (Q10 * @QTDE_P), (Q11 * @QTDE_P), (Q12 * @QTDE_P), (Q13 * @QTDE_P), (Q14 * @QTDE_P), (Q15 * @QTDE_P), (Q16 * @QTDE_P), (Q17 * @QTDE_P), (Q18 * @QTDE_P), (Q19 * @QTDE_P), (Q20 * @QTDE_P), (Q21 * @QTDE_P), (Q22 * @QTDE_P), (Q23 * @QTDE_P), (Q24 * @QTDE_P), 
									(Q25 * @QTDE_P), (Q26 * @QTDE_P), (Q27 * @QTDE_P), (Q28 * @QTDE_P), (Q29 * @QTDE_P), (Q30 * @QTDE_P), (Q31 * @QTDE_P), (Q32 * @QTDE_P), (Q33 * @QTDE_P), (Q34 * @QTDE_P), (Q35 * @QTDE_P), (Q36 * @QTDE_P), (Q37 * @QTDE_P), (Q38 * @QTDE_P), (Q39 * @QTDE_P), (Q40 * @QTDE_P), (Q41 * @QTDE_P), (Q42 * @QTDE_P), (Q43 * @QTDE_P), (Q44 * @QTDE_P), (Q45 * @QTDE_P), (Q46 * @QTDE_P), (Q47 * @QTDE_P), (Q48 * @QTDE_P), 
									(Q1  * @QTDE_P), (Q2  * @QTDE_P), (Q3  * @QTDE_P), (Q4  * @QTDE_P), (Q5  * @QTDE_P), (Q6  * @QTDE_P), (Q7  * @QTDE_P), (Q8  * @QTDE_P), (Q9  * @QTDE_P), (Q10 * @QTDE_P), (Q11 * @QTDE_P), (Q12 * @QTDE_P), (Q13 * @QTDE_P), (Q14 * @QTDE_P), (Q15 * @QTDE_P), (Q16 * @QTDE_P), (Q17 * @QTDE_P), (Q18 * @QTDE_P), (Q19 * @QTDE_P), (Q20 * @QTDE_P), (Q21 * @QTDE_P), (Q22 * @QTDE_P), (Q23 * @QTDE_P), (Q24 * @QTDE_P), 
									(Q25 * @QTDE_P), (Q26 * @QTDE_P), (Q27 * @QTDE_P), (Q28 * @QTDE_P), (Q29 * @QTDE_P), (Q30 * @QTDE_P), (Q31 * @QTDE_P), (Q32 * @QTDE_P), (Q33 * @QTDE_P), (Q34 * @QTDE_P), (Q35 * @QTDE_P), (Q36 * @QTDE_P), (Q37 * @QTDE_P), (Q38 * @QTDE_P), (Q39 * @QTDE_P), (Q40 * @QTDE_P), (Q41 * @QTDE_P), (Q42 * @QTDE_P), (Q43 * @QTDE_P), (Q44 * @QTDE_P), (Q45 * @QTDE_P), (Q46 * @QTDE_P), (Q47 * @QTDE_P), (Q48 * @QTDE_P), 
									@PRECO1, @PRECO2, @PRECO3, @PRECO4, CASE WHEN @QTDE_P >0 THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(RTRIM(LTRIM(STR(@QTDE_P, 2, 0))), 3, ' ') ELSE '' END
									FROM PRODUTOS_PACKS_PERMITIDOS A JOIN PRODUTOS C ON A.PRODUTO = C.PRODUTO
									WHERE A.PRODUTO = @PRODUTO AND INDICA_PACK_COR = 1 AND PACK = @CODIGO_PACK AND COR_PRODUTO = @COR_PACK

								/* INCLUI REGISTROS EM ROMANEIOS_RESERVAS */
								INSERT INTO ROMANEIOS_RESERVAS (ROMANEIO, FILIAL, PEDIDO, PRODUTO, COR_PRODUTO, COR_PEDIDO, ENTREGA, ITEM_PEDIDO, QTDE_R, VALOR_R,
									R1,  R2,  R3,  R4,  R5,  R6,  R7,  R8,  R9,  R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24,
									R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39, R40 ,R41, R42, R43, R44, R45, R46, R47, R48, PACKS)
								SELECT @ROMANEIO, @FILIAL, @PEDIDO, A.PRODUTO, A.COR_PRODUTO, A.COR_PRODUTO, @DATA, '0000', (QTDE * @QTDE_P),
									(Q1  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 1,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I) + (Q2  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 2,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q3  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 3,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q4  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 4,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q5  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 5,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q6  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 6,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
									(Q7  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 7,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I) + (Q8  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 8,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q9  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 9,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q10 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 10, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q11 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 11, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q12 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 12, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  +
									(Q13 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 13, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I) + (Q14 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 14, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q15 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 15, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q16 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 16, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q17 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 17, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q18 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 18, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
									(Q19 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 19, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I) + (Q20 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 20, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q21 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 21, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q22 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 22, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q23 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 23, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q24 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 24, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  +
									(Q25 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 25, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I) + (Q26 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 26, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q27 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 27, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q28 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 28, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q29 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 29, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q30 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 30, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
									(Q31 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 31, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I) + (Q32 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 32, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q33 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 33, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q34 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 34, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q35 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 35, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q36 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 36, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  +
									(Q37 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 37, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I) + (Q38 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 38, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q39 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 39, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q40 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 40, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q41 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 41, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q42 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 42, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
									(Q43 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 43, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I) + (Q44 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 44, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q45 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 45, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q46 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 46, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q47 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 47, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q48 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 48, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I) ,
									(Q1  * @QTDE_P), (Q2  * @QTDE_P), (Q3  * @QTDE_P), (Q4  * @QTDE_P), (Q5  * @QTDE_P), (Q6  * @QTDE_P), (Q7  * @QTDE_P), (Q8  * @QTDE_P), (Q9  * @QTDE_P), (Q10 * @QTDE_P), (Q11 * @QTDE_P), (Q12 * @QTDE_P), (Q13 * @QTDE_P), (Q14 * @QTDE_P), (Q15 * @QTDE_P), (Q16 * @QTDE_P), (Q17 * @QTDE_P), (Q18 * @QTDE_P), (Q19 * @QTDE_P), (Q20 * @QTDE_P), (Q21 * @QTDE_P), (Q22 * @QTDE_P), (Q23 * @QTDE_P), (Q24 * @QTDE_P), 
									(Q25 * @QTDE_P), (Q26 * @QTDE_P), (Q27 * @QTDE_P), (Q28 * @QTDE_P), (Q29 * @QTDE_P), (Q30 * @QTDE_P), (Q31 * @QTDE_P), (Q32 * @QTDE_P), (Q33 * @QTDE_P), (Q34 * @QTDE_P), (Q35 * @QTDE_P), (Q36 * @QTDE_P), (Q37 * @QTDE_P), (Q38 * @QTDE_P), (Q39 * @QTDE_P), (Q40 * @QTDE_P), (Q41 * @QTDE_P), (Q42 * @QTDE_P), (Q43 * @QTDE_P), (Q44 * @QTDE_P), (Q45 * @QTDE_P), (Q46 * @QTDE_P), (Q47 * @QTDE_P), (Q48 * @QTDE_P),
									CASE WHEN @QTDE_P >0 THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(RTRIM(LTRIM(STR(@QTDE_P, 2, 0))), 3, ' ') ELSE '' END
									FROM PRODUTOS_PACKS_PERMITIDOS A JOIN PRODUTOS C ON A.PRODUTO = C.PRODUTO AND COR_PRODUTO = @COR_PACK
									WHERE A.PRODUTO = @PRODUTO AND INDICA_PACK_COR = 1 AND PACK = @CODIGO_PACK

								FETCH NEXT FROM CURSOR_PACK INTO @COR_PACK
						END
						CLOSE CURSOR_PACK
						DEALLOCATE CURSOR_PACK
					END
					ELSE
					BEGIN
						SELECT @PRECO1 = PRECO1, @PRECO2 = PRECO2, @PRECO3 = PRECO3, @PRECO4 = PRECO4 FROM PRODUTOS_PRECOS WHERE CODIGO_TAB_PRECO = @TABELA AND PRODUTO = @PRODUTO
						IF @INCIDE_SOBRE_PRECO = 1
							SELECT 	@PRECO1 = (@PRECO1 - ROUND(@PRECO1 * (@DESCONTO_ITEM / 100), 2)),
								@PRECO2 = (@PRECO2 - ROUND(@PRECO2 * (@DESCONTO_ITEM / 100), 2)),
								@PRECO3 = (@PRECO3 - ROUND(@PRECO3 * (@DESCONTO_ITEM / 100), 2)),
								@PRECO4 = (@PRECO4 - ROUND(@PRECO4 * (@DESCONTO_ITEM / 100), 2)),
								@DESCONTO_I = 0
						ELSE
							IF  @VARIA_PRECO_TAM = 0
								SELECT @DESCONTO_I = ROUND(@PRECO1 * (@DESCONTO_ITEM / 100), 2)
							ELSE
							BEGIN
								SELECT 	@DESCONTO_I = 0, @XCONTA = 0
								SELECT 	@DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO1 > 0 THEN (@PRECO1 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
									@XCONTA = @XCONTA + CASE WHEN @PRECO1 > 0 THEN 1 ELSE 0 END
								SELECT  @DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO2 > 0 THEN (@PRECO2 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
									@XCONTA = @XCONTA + CASE WHEN @PRECO2 > 0 THEN 1 ELSE 0 END
								SELECT  @DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO3 > 0 THEN (@PRECO3 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
									@XCONTA = @XCONTA + CASE WHEN @PRECO3 > 0 THEN 1 ELSE 0 END
								SELECT	@DESCONTO_I = @DESCONTO_I + CASE WHEN @PRECO4 > 0 THEN (@PRECO4 * (@DESCONTO_ITEM / 100)) ELSE 0 END,
									@XCONTA = @XCONTA + CASE WHEN @PRECO4 > 0 THEN 1 ELSE 0 END
								SELECT  @DESCONTO_I = ROUND(@DESCONTO_I / CASE WHEN @XCONTA = 0 THEN 1 ELSE @XCONTA END, 2)
							END		


						INSERT INTO VENDAS_PRODUTO (PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO, LIMITE_ENTREGA, QTDE_ORIGINAL, QTDE_ENTREGAR, DESCONTO_ITEM, 
									VO1,  VO2,  VO3,  VO4,  VO5,  VO6,  VO7,  VO8,  VO9,  VO10, VO11, VO12, VO13, VO14, VO15, VO16, VO17, VO18, VO19, VO20, VO21, VO22, VO23, VO24, VO25, VO26, VO27, VO28, VO29, VO30, VO31, VO32, VO33, VO34, VO35, VO36, VO37, VO38, VO39, VO40, VO41, VO42, VO43, VO44, VO45, VO46, VO47, VO48,
									VE1,  VE2,  VE3,  VE4,  VE5,  VE6,  VE7,  VE8,  VE9,  VE10, VE11, VE12, VE13, VE14, VE15, VE16, VE17, VE18, VE19, VE20, VE21, VE22, VE23, VE24,	VE25, VE26, VE27, VE28, VE29, VE30, VE31, VE32, VE33, VE34, VE35, VE36, VE37, VE38, VE39, VE40, VE41, VE42, VE43, VE44, VE45, VE46, VE47, VE48,
									PRECO1, PRECO2, PRECO3, PRECO4, PACKS)
						SELECT @PEDIDO, A.PRODUTO, A.COR_PRODUTO, @DATA, '0000', @DATA, (QTDE * @QTDE_P),(QTDE * @QTDE_P), @DESCONTO_I,
							(Q1  * @QTDE_P), (Q2  * @QTDE_P), (Q3  * @QTDE_P), (Q4  * @QTDE_P), (Q5  * @QTDE_P), (Q6  * @QTDE_P), (Q7  * @QTDE_P), (Q8  * @QTDE_P), (Q9  * @QTDE_P), (Q10 * @QTDE_P), (Q11 * @QTDE_P), (Q12 * @QTDE_P), (Q13 * @QTDE_P), (Q14 * @QTDE_P), (Q15 * @QTDE_P), (Q16 * @QTDE_P), (Q17 * @QTDE_P), (Q18 * @QTDE_P), (Q19 * @QTDE_P), (Q20 * @QTDE_P), (Q21 * @QTDE_P), (Q22 * @QTDE_P), (Q23 * @QTDE_P), (Q24 * @QTDE_P), 
							(Q25 * @QTDE_P), (Q26 * @QTDE_P), (Q27 * @QTDE_P), (Q28 * @QTDE_P), (Q29 * @QTDE_P), (Q30 * @QTDE_P), (Q31 * @QTDE_P), (Q32 * @QTDE_P), (Q33 * @QTDE_P), (Q34 * @QTDE_P), (Q35 * @QTDE_P), (Q36 * @QTDE_P), (Q37 * @QTDE_P), (Q38 * @QTDE_P), (Q39 * @QTDE_P), (Q40 * @QTDE_P), (Q41 * @QTDE_P), (Q42 * @QTDE_P), (Q43 * @QTDE_P), (Q44 * @QTDE_P), (Q45 * @QTDE_P), (Q46 * @QTDE_P), (Q47 * @QTDE_P), (Q48 * @QTDE_P), 
							(Q1  * @QTDE_P), (Q2  * @QTDE_P), (Q3  * @QTDE_P), (Q4  * @QTDE_P), (Q5  * @QTDE_P), (Q6  * @QTDE_P), (Q7  * @QTDE_P), (Q8  * @QTDE_P), (Q9  * @QTDE_P), (Q10 * @QTDE_P), (Q11 * @QTDE_P), (Q12 * @QTDE_P), (Q13 * @QTDE_P), (Q14 * @QTDE_P), (Q15 * @QTDE_P), (Q16 * @QTDE_P), (Q17 * @QTDE_P), (Q18 * @QTDE_P), (Q19 * @QTDE_P), (Q20 * @QTDE_P), (Q21 * @QTDE_P), (Q22 * @QTDE_P), (Q23 * @QTDE_P), (Q24 * @QTDE_P), 
							(Q25 * @QTDE_P), (Q26 * @QTDE_P), (Q27 * @QTDE_P), (Q28 * @QTDE_P), (Q29 * @QTDE_P), (Q30 * @QTDE_P), (Q31 * @QTDE_P), (Q32 * @QTDE_P), (Q33 * @QTDE_P), (Q34 * @QTDE_P), (Q35 * @QTDE_P), (Q36 * @QTDE_P), (Q37 * @QTDE_P), (Q38 * @QTDE_P), (Q39 * @QTDE_P), (Q40 * @QTDE_P), (Q41 * @QTDE_P), (Q42 * @QTDE_P), (Q43 * @QTDE_P), (Q44 * @QTDE_P), (Q45 * @QTDE_P), (Q46 * @QTDE_P), (Q47 * @QTDE_P), (Q48 * @QTDE_P), 
							@PRECO1, @PRECO2, @PRECO3,@PRECO4, CASE WHEN @QTDE_P >0 THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(RTRIM(LTRIM(STR(@QTDE_P, 2, 0))), 3, ' ') ELSE '' END
							FROM (PRODUTOS_PACKS_PERMITIDOS A LEFT JOIN PRODUTOS_PRECOS B ON A.PRODUTO = B.PRODUTO AND B.CODIGO_TAB_PRECO = @TABELA) JOIN PRODUTOS C ON A.PRODUTO = C.PRODUTO
							WHERE A.PRODUTO = @PRODUTOI AND INDICA_PACK_COR = 1 AND A.COR_PRODUTO = @CORI

						/* INCLUI REGISTROS EM ROMANEIOS_RESERVAS */
						INSERT INTO ROMANEIOS_RESERVAS (ROMANEIO, FILIAL, PEDIDO, PRODUTO, COR_PRODUTO, COR_PEDIDO, ENTREGA, ITEM_PEDIDO, QTDE_R, VALOR_R,
							R1,  R2,  R3,  R4,  R5,  R6,  R7,  R8,  R9,  R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24,
							R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39, R40 ,R41, R42, R43, R44, R45, R46, R47, R48, PACKS)
						SELECT @ROMANEIO, @FILIAL, @PEDIDO, A.PRODUTO, A.COR_PRODUTO, A.COR_PRODUTO, @DATA, '0000', (QTDE * @QTDE_P),
							(Q1  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 1,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q2  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 2,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q3  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 3,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q4  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 4,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q5  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 5,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q6  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 6,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
							(Q7  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 7,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q8  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 8,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q9  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 9,  1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q10 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 10, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q11 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 11, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q12 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 12, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  +
							(Q13 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 13, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q14 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 14, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q15 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 15, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q16 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 16, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q17 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 17, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q18 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 18, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
							(Q19 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 19, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q20 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 20, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q21 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 21, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q22 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 22, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q23 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 23, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q24 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 24, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  +
							(Q25 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 25, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q26 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 26, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q27 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 27, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q28 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 28, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q29 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 29, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q30 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 30, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
							(Q31 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 31, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q32 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 32, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q33 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 33, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q34 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 34, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q35 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 35, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q36 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 36, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  +
							(Q37 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 37, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q38 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 38, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q39 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 39, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q40 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 40, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q41 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 41, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q42 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 42, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + 
							(Q43 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 43, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q44 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 44, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q45 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 45, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q46 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 46, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q47 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 47, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I)  + (Q48 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 48, 1) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END - @DESCONTO_I) ,
							(Q1  * @QTDE_P), (Q2  * @QTDE_P), (Q3  * @QTDE_P), (Q4  * @QTDE_P), (Q5  * @QTDE_P), (Q6  * @QTDE_P), (Q7  * @QTDE_P), (Q8  * @QTDE_P), (Q9  * @QTDE_P), (Q10 * @QTDE_P), (Q11 * @QTDE_P), (Q12 * @QTDE_P), (Q13 * @QTDE_P), (Q14 * @QTDE_P), (Q15 * @QTDE_P), (Q16 * @QTDE_P), (Q17 * @QTDE_P), (Q18 * @QTDE_P), (Q19 * @QTDE_P), (Q20 * @QTDE_P), (Q21 * @QTDE_P), (Q22 * @QTDE_P), (Q23 * @QTDE_P), (Q24 * @QTDE_P), 
							(Q25 * @QTDE_P), (Q26 * @QTDE_P), (Q27 * @QTDE_P), (Q28 * @QTDE_P), (Q29 * @QTDE_P), (Q30 * @QTDE_P), (Q31 * @QTDE_P), (Q32 * @QTDE_P), (Q33 * @QTDE_P), (Q34 * @QTDE_P), (Q35 * @QTDE_P), (Q36 * @QTDE_P), (Q37 * @QTDE_P), (Q38 * @QTDE_P), (Q39 * @QTDE_P), (Q40 * @QTDE_P), (Q41 * @QTDE_P), (Q42 * @QTDE_P), (Q43 * @QTDE_P), (Q44 * @QTDE_P), (Q45 * @QTDE_P), (Q46 * @QTDE_P), (Q47 * @QTDE_P), (Q48 * @QTDE_P),
							CASE WHEN @QTDE_P >0 THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(RTRIM(LTRIM(STR(@QTDE_P, 2, 0))), 3, ' ') ELSE '' END 
							FROM PRODUTOS_PACKS_PERMITIDOS A LEFT JOIN PRODUTOS_PRECOS B ON A.PRODUTO = B.PRODUTO AND B.CODIGO_TAB_PRECO = @TABELA  JOIN PRODUTOS C ON A.PRODUTO = C.PRODUTO 
							WHERE A.PRODUTO = @PRODUTOI AND INDICA_PACK_COR = 1 AND A.COR_PRODUTO = @CORI
					END
				END
				ELSE
				BEGIN 
					/* UPDATE EM VENDAS PARA INCLUIR MAIS UM PACK */

					UPDATE A SET 
					VO1  = VO1  + (Q1  * @QTDE_P), VO2  = VO2  + (Q2  * @QTDE_P), VO3  = VO3  + (Q3  * @QTDE_P), VO4  = VO4  + (Q4  * @QTDE_P), VO5  = VO5  + (Q5  * @QTDE_P), VO6  = VO6  + (Q6  * @QTDE_P), VO7  = VO7  + (Q7  * @QTDE_P), VO8  = VO8  + (Q8  * @QTDE_P), VO9  = VO9  + (Q9  * @QTDE_P), VO10 = VO10 + (Q10 * @QTDE_P), VO11 = VO11 + (Q11 * @QTDE_P), VO12 = VO12 + (Q12 * @QTDE_P), VO13 = VO13 + (Q13 * @QTDE_P), VO14 = VO14 + (Q14 * @QTDE_P), VO15 = VO15 + (Q15 * @QTDE_P), VO16 = VO16 + (Q16 * @QTDE_P), VO17 = VO17 + (Q17 * @QTDE_P), VO18 = VO18 + (Q18 * @QTDE_P), VO19 = VO19 + (Q19 * @QTDE_P), VO20 = VO20 + (Q20 * @QTDE_P), VO21 = VO21 + (Q21 * @QTDE_P), VO22 = VO22 + (Q22 * @QTDE_P), VO23 = VO23 + (Q23 * @QTDE_P), VO24 = VO24 + (Q24 * @QTDE_P), 
					VO25 = VO25 + (Q25 * @QTDE_P), VO26 = VO26 + (Q26 * @QTDE_P), VO27 = VO27 + (Q27 * @QTDE_P), VO28 = VO28 + (Q28 * @QTDE_P), VO29 = VO29 + (Q29 * @QTDE_P), VO30 = VO30 + (Q30 * @QTDE_P), VO31 = VO31 + (Q31 * @QTDE_P), VO32 = VO32 + (Q32 * @QTDE_P), VO33 = VO33 + (Q33 * @QTDE_P), VO34 = VO34 + (Q34 * @QTDE_P), VO35 = VO35 + (Q35 * @QTDE_P), VO36 = VO36 + (Q36 * @QTDE_P), VO37 = VO37 + (Q37 * @QTDE_P), VO38 = VO38 + (Q38 * @QTDE_P), VO39 = VO39 + (Q39 * @QTDE_P), VO40 = VO40 + (Q40 * @QTDE_P), VO41 = VO41 + (Q41 * @QTDE_P), VO42 = VO42 + (Q42 * @QTDE_P), VO43 = VO43 + (Q43 * @QTDE_P), VO44 = VO44 + (Q44 * @QTDE_P), VO45 = VO45 + (Q45 * @QTDE_P), VO46 = VO46 + (Q46 * @QTDE_P), VO47 = VO47 + (Q47 * @QTDE_P), VO48 = VO48 + (Q48 * @QTDE_P), 
					VE1  = VE1  + (Q1  * @QTDE_P), VE2  = VE2  + (Q2  * @QTDE_P), VE3  = VE3  + (Q3  * @QTDE_P), VE4  = VE4  + (Q4  * @QTDE_P), VE5  = VE5  + (Q5  * @QTDE_P), VE6  = VE6  + (Q6  * @QTDE_P), VE7  = VE7  + (Q7  * @QTDE_P), VE8  = VE8  + (Q8  * @QTDE_P), VE9  = VE9  + (Q9  * @QTDE_P), VE10 = VE10 + (Q10 * @QTDE_P), VE11 = VE11 + (Q11 * @QTDE_P), VE12 = VE12 + (Q12 * @QTDE_P), VE13 = VE13 + (Q13 * @QTDE_P), VE14 = VE14 + (Q14 * @QTDE_P), VE15 = VE15 + (Q15 * @QTDE_P), VE16 = VE16 + (Q16 * @QTDE_P), VE17 = VE17 + (Q17 * @QTDE_P), VE18 = VE18 + (Q18 * @QTDE_P), VE19 = VE19 + (Q19 * @QTDE_P), VE20 = VE20 + (Q20 * @QTDE_P), VE21 = VE21 + (Q21 * @QTDE_P), VE22 = VE22 + (Q22 * @QTDE_P), VE23 = VE23 + (Q23 * @QTDE_P), VE24 = VE24 + (Q24 * @QTDE_P), 
					VE25 = VE25 + (Q25 * @QTDE_P), VE26 = VE26 + (Q26 * @QTDE_P), VE27 = VE27 + (Q27 * @QTDE_P), VE28 = VE28 + (Q28 * @QTDE_P), VE29 = VE29 + (Q29 * @QTDE_P), VE30 = VE30 + (Q30 * @QTDE_P), VE31 = VE31 + (Q31 * @QTDE_P), VE32 = VE32 + (Q32 * @QTDE_P), VE33 = VE33 + (Q33 * @QTDE_P), VE34 = VE34 + (Q34 * @QTDE_P), VE35 = VE35 + (Q35 * @QTDE_P), VE36 = VE36 + (Q36 * @QTDE_P), VE37 = VE37 + (Q37 * @QTDE_P), VE38 = VE38 + (Q38 * @QTDE_P), VE39 = VE39 + (Q39 * @QTDE_P), VE40 = VE40 + (Q40 * @QTDE_P), VE41 = VE41 + (Q41 * @QTDE_P), VE42 = VE42 + (Q42 * @QTDE_P), VE43 = VE43 + (Q43 * @QTDE_P), VE44 = VE44 + (Q44 * @QTDE_P), VE45 = VE45 + (Q45 * @QTDE_P), VE46 = VE46 + (Q46 * @QTDE_P), VE47 = VE47 + (Q47 * @QTDE_P), VE48 = VE48 + (Q48 * @QTDE_P), 
					QTDE_ORIGINAL = QTDE_ORIGINAL + (QTDE * @QTDE_P), QTDE_ENTREGAR = QTDE_ENTREGAR + (QTDE * @QTDE_P),
					PACKS = CASE WHEN ISNULL(A.PACKS,'')='' THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(1, 3, ' ') ELSE LEFT(A.PACKS,2)+DBO.FX_PADL((CONVERT(INT,SUBSTRING(A.PACKS,3,LEN(RTRIM(A.PACKS))))+1),3,' ') END
					FROM VENDAS_PRODUTO A JOIN PRODUTOS_PACKS_PERMITIDOS B ON A.PRODUTO = B.PRODUTO AND A.COR_PRODUTO = B.COR_PRODUTO JOIN PRODUTOS C ON A.PRODUTO = C.PRODUTO
					WHERE A.PRODUTO = @PRODUTOI AND INDICA_PACK_COR = 1 AND PEDIDO = @PEDIDO AND A.COR_PRODUTO = @CORI

					/* ATUALIZA ROMANEIOS_RESERVAS */
					UPDATE A SET
					R1  = R1  + (Q1  * @QTDE_P), R2  = R2  + (Q2  * @QTDE_P), R3  = R3  + (Q3  * @QTDE_P), R4  = R4  + (Q4  * @QTDE_P), R5  = R5  + (Q5  * @QTDE_P), R6  = R6  + (Q6  * @QTDE_P), R7  = R7  + (Q7  * @QTDE_P), R8  = R8  + (Q8  * @QTDE_P), R9  = R9  + (Q9  * @QTDE_P), R10 = R10 + (Q10 * @QTDE_P), R11 = R11 + (Q11 * @QTDE_P), R12 = R12 + (Q12 * @QTDE_P), R13 = R13 + (Q13 * @QTDE_P), R14 = R14 + (Q14 * @QTDE_P), R15 = R15 + (Q15 * @QTDE_P), R16 = R16 + (Q16 * @QTDE_P), R17 = R17 + (Q17 * @QTDE_P), R18 = R18 + (Q18 * @QTDE_P), R19 = R19 + (Q19 * @QTDE_P), R20 = R20 + (Q20 * @QTDE_P), R21 = R21 + (Q21 * @QTDE_P), R22 = R22 + (Q22 * @QTDE_P), R23 = R23 + (Q23 * @QTDE_P), R24 = R24 + (Q24 * @QTDE_P), 
					R25 = R25 + (Q25 * @QTDE_P), R26 = R26 + (Q26 * @QTDE_P), R27 = R27 + (Q27 * @QTDE_P), R28 = R28 + (Q28 * @QTDE_P), R29 = R29 + (Q29 * @QTDE_P), R30 = R30 + (Q30 * @QTDE_P), R31 = R31 + (Q31 * @QTDE_P), R32 = R32 + (Q32 * @QTDE_P), R33 = R33 + (Q33 * @QTDE_P), R34 = R34 + (Q34 * @QTDE_P), R35 = R35 + (Q35 * @QTDE_P), R36 = R36 + (Q36 * @QTDE_P), R37 = R37 + (Q37 * @QTDE_P), R38 = R38 + (Q38 * @QTDE_P), R39 = R39 + (Q39 * @QTDE_P), R40 = R40 + (Q40 * @QTDE_P), R41 = R41 + (Q41 * @QTDE_P), R42 = R42 + (Q42 * @QTDE_P), R43 = R43 + (Q43 * @QTDE_P), R44 = R44 + (Q44 * @QTDE_P), R45 = R45 + (Q45 * @QTDE_P), R46 = R46 + (Q46 * @QTDE_P), R47 = R47 + (Q47 * @QTDE_P), R48 = R48 + (Q48 * @QTDE_P), 
					QTDE_R = QTDE_R + (QTDE * @QTDE_P), VALOR_R = VALOR_R +
					(Q1  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 1,  1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q2  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 2,  1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q3  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 3,  1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q4  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 4,  1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q5  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 5,  1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q6  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 6,  1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) +
					(Q7  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 7,  1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q8  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 8,  1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q9  * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 9,  1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q10 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 10, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q11 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 11, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q12 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 12, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) +
					(Q13 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 13, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q14 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 14, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q15 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 15, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q16 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 16, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q17 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 17, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q18 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 18, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) +
					(Q19 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 19, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q20 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 20, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q21 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 21, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q22 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 22, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q23 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 23, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q24 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 24, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) +
					(Q25 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 25, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q26 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 26, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q27 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 27, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q28 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 28, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q29 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 29, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q30 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 30, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) +
					(Q31 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 31, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q32 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 32, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q33 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 33, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q34 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 34, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q35 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 35, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q36 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 36, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) +
					(Q37 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 37, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q38 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 38, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q39 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 39, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q40 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 40, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q41 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 41, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q42 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 42, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) +
					(Q43 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 43, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q44 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 44, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q45 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 45, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q46 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 46, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q47 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 47, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)) + (Q48 * @QTDE_P) * (CASE SUBSTRING(PONTEIRO_PRECO_TAM, 48, 1) WHEN 1 THEN ISNULL(PRECO1, 0) WHEN 2 THEN ISNULL(PRECO2, 0) WHEN 3 THEN ISNULL(PRECO3, 0) WHEN 4 THEN ISNULL(PRECO4, 0) END - ISNULL(DESCONTO_ITEM, 0)),
					PACKS = CASE WHEN ISNULL(A.PACKS,'')='' THEN DBO.FX_PADR(@CODIGO_PACK, 2, ' ') + DBO.FX_PADL(1, 3, ' ') ELSE LEFT(A.PACKS,2)+DBO.FX_PADL((CONVERT(INT,SUBSTRING(A.PACKS,3,LEN(RTRIM(A.PACKS))))+1),3,' ') END
					FROM ROMANEIOS_RESERVAS A JOIN PRODUTOS_PACKS_PERMITIDOS B ON A.PRODUTO = B.PRODUTO AND A.COR_PRODUTO = B.COR_PRODUTO JOIN PRODUTOS C ON A.PRODUTO = C.PRODUTO
					JOIN VENDAS_PRODUTO D ON A.PRODUTO = D.PRODUTO AND A.COR_PEDIDO = D.COR_PRODUTO AND A.ENTREGA = D.ENTREGA AND A.ITEM_PEDIDO = D.ITEM_PEDIDO AND A.PEDIDO = D.PEDIDO
					WHERE ROMANEIO = @ROMANEIO AND A.PEDIDO = @PEDIDO AND B.PRODUTO = @PRODUTOI AND INDICA_PACK_COR = 1 AND A.COR_PRODUTO = @CORI
				END

				/* ATUALIZA PEDIDO DE VENDAS */
				SELECT @TOT_VALOR = SUM(VALOR_ORIGINAL), @TOT_QTDE = SUM(QTDE_ORIGINAL) FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO

				IF @QTDE_D = 0
					BREAK
				ELSE
					FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @FILIALI, @PORCENTAGEMI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @TRANSP_REDESPACHO, @TRANSPORTADORA_CLIENTE 				
			END

			IF @QTDE_D = 0 OR @FILIALI IS NULL
				BREAK
			
		END

		CLOSE CURSOR_ITENS
		DEALLOCATE CURSOR_ITENS
				
		UPDATE ROMANEIOS_PRODUTO SET STATUS = @STATUS, FILTROS_PROCESSO = 'PROCESSO AUTOMATICO DE DISTRIBUIÇÃO. ' 
		WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO
		
		FETCH NEXT FROM CURSOR_PRODUTOS_50_new INTO @PRODUTO, @ORDEM_PRODUCAO, @COR_PRODUTO, @PROGRAMACAO, @NUMERO_TAMANHOS
		CONTINUE	

	END

END
CLOSE CURSOR_PRODUTOS_50_new
DEALLOCATE CURSOR_PRODUTOS_50_new
/*IF EXISTS (SELECT NAME FROM tempdb.dbo.SYSOBJECTS WHERE NAME like '#TMP_ESTOQUE_DISTRIBUICAO%' AND TYPE = 'U')
	DROP TABLE #TMP_ESTOQUE_DISTRIBUICAO*/
SET NOCOUNT OFF

/* ATUALIZA PEDIDOS DE VENDA */
DECLARE CURSOR_PEDIDOS CURSOR FOR SELECT PEDIDO FROM VENDAS WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL
OPEN CURSOR_PEDIDOS
FETCH NEXT FROM CURSOR_PEDIDOS INTO @PEDIDO
WHILE @@FETCH_STATUS = 0
BEGIN
	EXECUTE ('LX_MOVIMENTA_VENDAS_PA ' + @ASPAS + @PEDIDO + @ASPAS)
	FETCH NEXT FROM CURSOR_PEDIDOS INTO @PEDIDO
END
CLOSE CURSOR_PEDIDOS
DEALLOCATE CURSOR_PEDIDOS

COMMIT TRANSACTION 

RETURN

ERROR:
	CLOSE CURSOR_PRODUTOS_50_new
	DEALLOCATE CURSOR_PRODUTOS_50_new
	CLOSE CURSOR_ITENS
	DEALLOCATE CURSOR_ITENS
	WHILE @@TRANCOUNT > 0
		ROLLBACK TRANSACTION 

    RAISERROR @ERRNO @ERRMSG
END



